Sammeln des Streams zurück in denselben Auflistungstyp

Angenommen, ich habe eine Sammlung des unbekannten Typs. Was ich tun möchte, ist, es zu streamen, einige Dinge im Stream zu erledigen und es wieder in den gleichen Sammlungstyp wie meine ursprüngliche Sammlung zu sammeln. Zum Beispiel:

Collection<? extends Integer> getBigger(Collection<? extends Integer> col, int value) {
    return col.stream().filter(v -> v > value).collect(????);
} 

Die Idee dieses unvollständigen Codebeispiels ist, a zurückzugebenList wenncol ist vonList Klasse (oder eine Unterklasse davon), aSet wenncol ist vonSet class, etc ... Der Methodenname und die tatsächlichen Operationen im Stream sind hier nicht wichtig. Ich habe sie nur angegeben, um meine Frage zu veranschaulichen. Also ist es möglich?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage