Middle
Τι κάνει η μέθοδος collect στη Java;
sobes.tech AI
Απάντηση από AI
Η μέθοδος collect στο API Stream της Java πραγματοποιεί μια μεταβλητή μείωση (mutable reduction) των στοιχείων του ρεύματος σε ένα αποτέλεσμα αντικείμενο. Δέχεται έναν Collector ως όρισμα και επιτρέπει την ομαδοποίηση δεδομένων με διάφορους τρόπους, όπως η συλλογή στοιχείων σε συλλογές, η ομαδοποίησή τους ή η εφαρμογή συναρτήσεων συλλογής (άθροισμα, μέσος όρος κ.λπ.).
Βασικά συστατικά του Collector:
supplier(): Δημιουργεί ένα νέο, κενό δοχείο αποτελέσματος.accumulator(): Προσθέτει το τρέχον στοιχείο του ρεύματος στο δοχείο αποτελέσματος.combiner(): Συνδυάζει δύο δοχεία αποτελέσματος (χρησιμοποιείται σε παράλληλα ρεύματα).finisher(): Εφαρμόζει μια τελική μετατροπή στο δοχείο αποτελέσματος (προαιρετικό).
Δημοφιλείς υλοποιήσεις του Collector παρέχονται από την κλάση Collectors:
toList(),toSet(),toMap(): Συλλέγουν στοιχεία σεList,Set,Mapαντίστοιχα.joining(): Συνενώνει στοιχεία συμβολοσειράς.groupingBy(): Ομαδοποιεί στοιχεία βάσει κριτηρίου.counting(),summingInt(),averagingDouble(): Μετράει, αθροίζει, υπολογίζει το μέσο όρο.
Παράδειγμα χρήσης για συλλογή σε λίστα:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class CollectExample {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
List<String> collectedNames = names.stream()
.collect(Collectors.toList()); // Συλλογή σε List
System.out.println(collectedNames);
}
}