Sobes.tech
Junior — Middle

Aké zmeny nastanú, ak použijete metódu flatMap na spracovanie zoznamu Long v rámci objektu?

sobes.tech AI

Odpoveď od AI

Metóda flatMap v Java Stream API sa používa na premenenie každého prvku toku na iný tok a následné spojenie týchto tokov do jedného.

Ak máte objekt, ktorý obsahuje zoznam Long, a použijete na tento zoznam flatMap, dostanete plochý tok prvkov typu Long namiesto toku zoznamov. To uľahčuje ďalšie spracovanie, ako je filtrovanie alebo agregácia.

Príklad:

List<MyObject> objects = ...; // každý objekt obsahuje List<Long> numbers

List<Long> allNumbers = objects.stream()
    .flatMap(obj -> obj.getNumbers().stream())
    .collect(Collectors.toList());

Výsledkom je, že allNumbers bude obsahovať všetky čísla zo všetkých zoznamov, spojené do jedného zoznamu bez vnorenia.