Machen Sie sich eine ungefähre Vorstellung davon, was Sie mit Stream machen können. Ich habe vorerst keine Angst, es zu sehen. Ich versuche es irgendwie zu nennen.
//Erstellen Sie beispielsweise eine Liste wie diese
List<String> list = new ArrayList<String>();
list.add("sample");
list.add("sample1");
list.add("sample2");
list.add("sample3");
list.add("sample4");
list.add("sample5");
list
.stream() //Starten Sie die Verarbeitung der Zielsammlung
.filter(s -> s.length() == 6) //Zwischenbetrieb (Verarbeitung)
.forEach(s -> System.out.println(s)); //Kündigungsvorgang (letzte Bearbeitung)
//Nur Probe ausgeben
Führen Sie auf diese Weise mithilfe der stream () - Erfassungsmethode einige Zwischenoperationen aus und führen Sie schließlich die Beendigungsoperation aus, um sie zu bilden.
stream () wird in List verwendet, aber Stream existiert als Schnittstelle, nur weil List eine Methode hat. Damit
Stream<String> st = list.stream();
st.forEach(s -> System.out.println(s));
Sie können auch so etwas tun.
forEach Beachten Sie, dass es sich um eine ungültige Methode handelt
list.stream().forEach(s -> sampleClass.stringList.add(s));
sampleClass.stringList.stream().forEach(s -> System.out.println(s));
collect Verwenden Sie collect (), da List nicht zurückgegeben wird, selbst wenn Sie mit stream () spielen.
List<String>editList = list.stream().filter(s -> s.length() == 6).collect(Collectors.toList());
editList.stream().forEach(s -> System.out.println(s));
Es gibt andere Operationen wie count (), die die Anzahl der Elemente zurückgeben
Fügen Sie danach einfach verschiedene Zwischenoperationen ein Listen Sie Elemente auf, die wahrscheinlich häufig verwendet werden
.stream()
.distinct() //Doppelte Löschung
.filter(s -> !s.isEmpty()) // isEmpty()Nicht nur gehen
.sorted() //Einfach aufsteigen
.sorted(Comparator.reverseOrder()) //Einfach absteigen
.map(changeToLength) //Verwenden Sie die erstellte Funktion
.forEach(s -> System.out.println(s));
Die erstellte Funktion lautet wie folgt
//Erstellen Sie eine Funktion namens changeToLength mit String als Argument und Integer als Rückgabewert
//Für String s{}Führen Sie die Verarbeitung im Inneren durch.
Function<String, Integer> changeToLength= (String s) -> {
return s.length();
};
Recommended Posts