[JAVA] Stream-Beendigungsprozess

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

Stream-Beendigungsprozess
Java Stream-Beendigung
[Java] Stream API - Stream-Beendigungsverarbeitung
Ogawa spielen
Memo Stream
API-Memo streamen
Probieren Sie Java 8 Stream aus
Java Stream API
Stream-Generierungsprozess
Java 8 studieren (Stream)
Zwischenverarbeitung streamen
[Java] Stream-Verarbeitung
Grundlagen der Stream-API
Java 9 Optional :: stream