Stream-Generierungsprozess und Stream-Zwischenprozess Verarbeiten Sie, in welcher Art von Element der Stream nach der Verarbeitung endet
List<String> list = Arrays.asList("a","b","c","d","e");
// findFirst
String a = list.stream().filter(s -> s.equals("a")).findFirst().orElse(null);
// findAny
String any = list.stream().filter(s -> s.equals("a")).findAny().orElse(null);
List<String> list = Arrays.asList("alex","benjamin",null,"","elsa");
boolean nonNull = list.stream().allMatch(Objects::nonNull); //false
boolean isEmpty = list.stream().anyMatch(""::equals); //true
boolean isTom = list.stream().noneMatch("tom"::equals); //true
toArray
List<String> list = Arrays.asList("alex","benjamin","charley","dante","elsa");
Integer[] length = list.stream().map(String::length).toArray(Integer[]::new);
collect Wird zum Suchen und Überprüfen verwendet, ob das Element mit dem Übereinstimmungssystem übereinstimmt. Wird verwendet, wenn Sie als Array-Element verarbeiten möchten, das bestimmt, ob für den angegebenen bedingten Ausdruck etwas gilt. Bei der Verarbeitung mit toArray (kein Argument) wird es zu Object [] Beachten Sie, dass es verwendet wird, wenn Sie es als Sammlungselement wie z. B. Liste verarbeiten möchten Es ist einfach zu bedienen, deshalb benutze ich es oft (kleines Durchschnittsgefühl)
List<String> list = Arrays.asList("alex","benjamin","charley","dante","elsa");
List<Integer> length = list.stream().map(String::length).collect(Collectors.toList());
count Aggregieren Sie die Anzahl der Stream-Elemente, die die Generierungsverarbeitung und die Zwischenverarbeitung abgeschlossen haben
List<String> list = Arrays.asList("alex","benjamin","charley","dante","elsa");
long count = list.stream().filter(s -> s.length() == 4 ).count(); // 2
forEach Interner Iterator in Java 8 hinzugefügt Tatsächlich kann es auch für Stream verwendet werden. Ich denke, Sie sollten den Standard forEach () verwenden Beide Beispiele unten ergeben das gleiche Ergebnis
Einige sagen, dass Stream for Each als Kontraindikation behandelt wird (Da es sich um einen Stream zum Konvertieren in andere Elemente handelt, der jedoch keinen Wert zurückgibt)
List<String> list = Arrays.asList("alex","benjamin","charley","dante","elsa");
// stream().forEach()
list.stream().filter(s -> s.length() == 4 ).forEach(System.out::println);
// list.forEach()
list.forEach(s -> {{if (s.length() == 4)System.out.println(s);}});
min,max Während der Bearbeitung
Recommended Posts