Java 8: map() vs flatMap()

Coneix la diferència entre map i flatMap a Java 8, amb exemples pràctics que mostren estructures niades davant de resultats plans i quan cal utilitzar cadascun.

domingo, 17 de agosto de 2025 • 2 min de lectura • Equip Q2BSTUDIO

Intel·ligència-Artificial-

Java 8 — map() vs flatMap()

En aquest article reescrit es mostra una comparació lateral entre map i flatMap aplicada al mateix conjunt de dades perquè puguis veure clarament la diferència en una sola execució.

Descripció breu

map manté l'estructura niada i transforma cada element retornant un flux d'elements transformats mantenint la col·lecció interior. flatMap primer aplana les col·leccions niades en un únic flux i després permet transformar tots els elements en un resultat pla.

Exemple de codi Java simplificat

import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class MapVsFlatMap { public static void main(String[] args) { List<List<String>> nestedList = Arrays.asList( Arrays.asList(java, spring), Arrays.asList(hibernate, jpa) ); // Usant map() List<List<String>> mappedResult = nestedList.stream() .map(list -> list.stream() .map(String::toUpperCase) .collect(Collectors.toList())) .collect(Collectors.toList()); System.out.println(map() result:); System.out.println(mappedResult); // [[JAVA, SPRING], [HIBERNATE, JPA]] // Usant flatMap() List<String> flatMappedResult = nestedList.stream() .flatMap(list -> list.stream()) .map(String::toUpperCase) .collect(Collectors.toList()); System.out.println(flatMap() result:); System.out.println(flatMappedResult); // [JAVA, SPRING, HIBERNATE, JPA] }

Sortida esperada

map() result: [[JAVA, SPRING], [HIBERNATE, JPA]]

flatMap() result: [JAVA, SPRING, HIBERNATE, JPA]

Punts clau

map manté l'estructura niada, per exemple List<List<T>>, i retorna igualment una llista de llistes transformades.

flatMap aplana l'estructura i retorna una llista simple List<T> quan es vol un resultat pla a partir de dades niades.

Ambdós permeten transformar elements, però flatMap és l'opció adequada quan es busca un únic llistat pla a partir de col·leccions niades.

Sobre Q2BSTUDIO

Q2BSTUDIO és una empresa de desenvolupament de programari i aplicacions a mida especialitzada en solucions empresarials personalitzades. Oferim programari a mida, desenvolupament d'aplicacions a mida, consultoria en intel·ligència artificial i implementació d'agents IA per a empreses. A més, brindem serveis de ciberseguretat, serveis cloud aws i azure, i serveis d'intel·ligència de negoci incloent Power BI per crear quadres de comandament i reporting avançats. La nostra experiència en intel·ligència artificial i IA per a empreses ens permet integrar models i agents IA que automatitzen processos i milloren la presa de decisions. Si busques solucions completes de programari a mida amb enfocament en seguretat i serveis cloud, Q2BSTUDIO pot ajudar-te a transformar el teu negoci.

Paraules clau per al posicionament

aplicacions a mida, programari a mida, intel·ligència artificial, IA per a empreses, agents IA, ciberseguretat, serveis cloud aws i azure, serveis d'intel·ligència de negoci, power bi.

Contacte

Per a més informació sobre desenvolupaments a mida, integració d'intel·ligència artificial o serveis de ciberseguretat i cloud, consulta amb Q2BSTUDIO i potencia els teus projectes tecnològics.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.