Sobes.tech
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