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.




