Sobes.tech
Junior — Middle

Ποια είναι η έννοια της χρήσης flatMap κατά την εργασία με συλλογές;

sobes.tech AI

Απάντηση από AI

Η μέθοδος flatMap χρησιμοποιείται για τη μετατροπή των στοιχείων μιας συλλογής σε ροές (Stream), και στη συνέχεια συνδυάζει όλες αυτές τις ροές σε μια επίπεδη ροή. Αυτό είναι ιδιαίτερα χρήσιμο όταν κάθε στοιχείο της αρχικής συλλογής μπορεί να μετατραπεί σε πολλά στοιχεία, και χρειάζεται να αποκτήσουμε μια ενιαία λίστα με όλα αυτά τα στοιχεία.

Για παράδειγμα, αν έχετε μια λίστα λιστών, το flatMap θα σας βοηθήσει να πάρετε μια ενιαία λίστα με όλα τα στοιχεία από όλες τις ενσωματωμένες λίστες.

Παράδειγμα σε Java:

List<List<String>> listOfLists = List.of(
    List.of("a", "b"),
    List.of("c", "d")
);

List<String> flatList = listOfLists.stream()
    .flatMap(Collection::stream)
    .collect(Collectors.toList());

System.out.println(flatList); // [a, b, c, d]

Έτσι, το flatMap απλοποιεί τη δουλειά με δομές που περιέχουν άλλες δομές, "εξομαλύνοντάς" τες σε ένα μόνο ρεύμα στοιχείων.