Middle
Ποιες λειτουργίες υπάρχουν στα streams και ποιοι τύποι λειτουργιών υπάρχουν;
sobes.tech AI
Απάντηση από AI
Στην Java 8+, τα streams παρέχουν ένα σύνολο λειτουργιών για την επεξεργασία συλλογών δεδομένων.
Τύποι λειτουργιών:
-
Μεταβατικές (Intermediate): Επιστρέφουν ένα νέο stream. Μπορούν να εκτελεστούν με διστακτικό τρόπο. Επιτρέπουν τη σύνδεση λειτουργιών. Περιλαμβάνουν:
filter()map()flatMap()distinct()sorted()peek()limit()skip()
-
Τερματικές (Terminal): Ολοκληρώνουν το stream, εκτελούν την επεξεργασία και επιστρέφουν ένα αποτέλεσμα ή προκαλούν ένα παρενέργεια. Μετά την εκτέλεση μιας τερματικής λειτουργίας, το stream δεν μπορεί να χρησιμοποιηθεί ξανά. Περιλαμβάνουν:
forEach()forEachOrdered()toArray()reduce()collect()count()sum()average()min()max()anyMatch()allMatch()noneMatch()findFirst()findAny()
Παράδειγμα αλυσίδας λειτουργιών:
// Μεταβατικές λειτουργίες (filter, map)
// Τερματική λειτουργία (collect)
List<String> filteredList = originalList.stream()
.filter(s -> s.startsWith("A")) // Φιλτράρισμα στοιχείων που ξεκινούν με "A"
.map(String::toUpperCase) // Μετατροπή σε κεφαλαία
.collect(Collectors.toList()); // Συλλογή αποτελεσμάτων σε λίστα