Senior
Τι είναι οι ενδιάμεσες και τερματικές μέθοδοι στα streams;
sobes.tech AI
Απάντηση από AI
Στην API Stream της Java, οι μέθοδοι διαιρούνται σε ενδιάμεσες και τερματικές.
-
Ενδιάμεσες μέθοδοι επιστρέφουν ένα νέο stream και επιτρέπουν την κατασκευή μιας αλυσίδας λειτουργιών. Είναι τεμπέλικες, δηλαδή δεν εκτελούνται άμεσα, αλλά μόνο όταν καλείται μια τερματική μέθοδος. Παραδείγματα:
filter(),map(),sorted(),distinct(). -
Τερματικές μέθοδοι ξεκινούν την επεξεργασία του stream και επιστρέφουν ένα αποτέλεσμα (όχι stream). Μετά την κλήση τους, η αλυσίδα τελειώνει. Παραδείγματα:
collect(),forEach(),reduce(),count().
Παράδειγμα:
List<String> names = List.of("Anna", "Bob", "Charlie", "David");
long count = names.stream() // ενδιάμεση μέθοδος stream()
.filter(name -> name.length() > 3) // ενδιάμεση μέθοδος filter()
.count(); // τερματική μέθοδος count()
System.out.println(count); // Εκτυπώνει τον αριθμό ονομάτων με μήκος μεγαλύτερο από 3 χαρακτήρες