Sobes.tech
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 επιτρέπουν την ομαδοποίηση δεδομένων από ένα ρεύμα σε μια ενιαία τελική τιμή.