Java 8 – map () vs planmap ()

Comparação lado a lado do map () vs Flatmap () no mesmo conjunto de dados para que você possa ver claramente a diferença em uma execução. importar java.util.arrays; importar java.util.list; importar java.util.stream.collectores; classe pública mapvsflatmap {public static void main (string[] args) {list> nestedlist = Arrays.aslist (Arrays.asList (“java”, “spring”), Arrays.asList (“Hibernate”, “JPA”)); // Usando map () list> mapedResult = nestedlist.stream () .map (list -> list.stream () .map (string :: touppercase) .collect (collectors.tolist ())) // ainda uma lista dentro de uma lista .Collect (colecionors.tolist ()); System.out.println (“map () resultado:”); System.out.println (MappEdResult); // [[JAVA, SPRING]Assim, [HIBERNATE, JPA]]// Usando Flatmap () List FlatmappedResult = nestedList.Stream () .flatmap (list -> list.Stream ()) // achate -se antes de coletar .map (string :: touppercase) .Collect (collectors.tolist ()); System.out.println (“\ nflatmap () resultado:”); System.out.println (FlatMapDResult); // [JAVA, SPRING, HIBERNATE, JPA]
}} Digite o modo de tela fullcreen Sair da tela cheia saída: map () Resultado:
[[JAVA, SPRING]Assim, [HIBERNATE, JPA]]Resultado de Flatmap ():
[JAVA, SPRING, HIBERNATE, JPA]

Digite o Modo de tela cheia Sair da tecla Modo de tela cheia mapa de toques () Mantém a estrutura aninhada → Lista>. Flatmap () achate a estrutura → Lista. Ambos podem transformar elementos, mas Flatmap () é o objetivo quando você deseja um único resultado plano de dados aninhados.

Fonte

Publicar comentário

Você pode ter perdido