Ich habe eine Funktion, die einen Int-Stream erstellt, die verschiedenen Zeichen findet, sortiert und dann sammelt sie in einer neuen Liste und erstellt dann eine Zeichenfolge. Unten ist die Funktion.Java 8 Int Stream mit StringBuilder sammeln
public static String longest(String s1, String s2) {
String s = s1 + s2;
return s.chars()
.distinct()
.sorted()
.collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
.toString();
}
ich wirklich zu arbeiten, habe Schwierigkeiten, wie das Sammeln mit dem String funktioniert, ich habe online recherchiert und die Java-Dokumentation kann aber keinen Sinn daraus machen. Von dem, was ich ausmachen kann, erstellt es eine neue Instanz von StringBuilder und hängt einfach jedes Zeichen im Stream an, kann jemand eine bessere Erklärung geben? Danke
Lesen Sie das Tutorial: https://docs.oracle.com/javase/tutorial/collections/streams/reduction.html#collect –
Es ist wichtig zu wissen, was genau Sie beunruhigt. Ist es die Verwendung von 'Collect' mit 3 Parametern? Sind es die Methodenreferenzen 'StringBuilder :: new' und andere? – Tunaki
Ja, es sind die 3 Parameter, die mich verwirren – pocockn