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?