Sobes.tech
Junior — Middle

Milyen eredményt ad vissza a flatMap() metódus adatsor vagy adatgyűjtemény feldolgozásakor?

sobes.tech MI

Válasz az MI-től

A flatMap() módszer adatgyűjtemény vagy adatfolyam feldolgozásakor minden eredeti adatfolyam elemét egy új folyamra (vagy gyűjteményre) alakítja, majd ezeket az áramokat "lapítja" (flat) egyetlen sík folyamattá.

Vagyis, ha van egy elemfolyamod, és minden elem több elemre (például listára vagy tömbre) van leképezve, a flatMap() ezeket a beágyazott gyűjteményeket egyetlen folyamra egyesíti anélkül, hogy beágyazott struktúrák maradnának.

Java példában:

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

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

// A flatList tartalmazza: ["a", "b", "c", "d"]

Ezért a flatMap() hasznos az összetett, beágyazott struktúrák egyetlen elemfolyammá alakításához és egyesítéséhez.