Junior — Middle
Μπορείς να δώσεις ένα παράδειγμα λειτουργιών αναγωγής που χρησιμοποιούνται στο API Stream για την επεξεργασία δεδομένων;
sobes.tech AI
Απάντηση από AI
Στην API Stream, οι λειτουργίες μείωσης (reducers) χρησιμοποιούνται για τη συρρίκνωση των στοιχείων ενός ρεύματος σε μια μόνο τιμή. Τα βασικά παραδείγματα:
reduce(BinaryOperator<T> accumulator)— μειώνει τα στοιχεία εφαρμόζοντας μια δυαδική λειτουργία.reduce(T identity, BinaryOperator<T> accumulator)— μείωση με μια αρχική τιμή.
Παράδειγμα: υπολογισμός του αθροίσματος των αριθμών σε μια λίστα
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream()
.reduce(0, (a, b) -> a + b);
System.out.println(sum); // 15
Άλλο παράδειγμα — σύνδεση συμβολοσειρών:
List<String> words = Arrays.asList("Java", "Stream", "API");
String result = words.stream()
.reduce("", (a, b) -> a + b + " ").trim();
System.out.println(result); // "Java Stream API"
Έτσι, οι reducers επιτρέπουν την ομαδοποίηση δεδομένων από ένα ρεύμα σε μια ενιαία τελική τιμή.