Senior
Czym są metody pośrednie i końcowe w strumieniach?
sobes.tech AI
Odpowiedź od AI
W API Stream w języku Java metody dzielą się na pośrednie i końcowe.
-
Metody pośrednie zwracają nowy strumień i pozwalają na łańcuchowe budowanie operacji. Są leniwe, czyli nie wykonują się od razu, a tylko po wywołaniu metody końcowej. Przykłady:
filter(),map(),sorted(),distinct(). -
Metody końcowe uruchamiają przetwarzanie strumienia i zwracają wynik (nie strumień). Po ich wywołaniu łańcuch się kończy. Przykłady:
collect(),forEach(),reduce(),count().
Przykład:
List<String> names = List.of("Anna", "Bob", "Charlie", "David");
long count = names.stream() // metoda pośrednia stream()
.filter(name -> name.length() > 3) // metoda pośrednia filter()
.count(); // metoda końcowa count()
System.out.println(count); // Wyświetli liczbę imion dłuższych niż 3 znaki