Skip to content

Latest commit

 

History

History
36 lines (28 loc) · 1004 Bytes

08_flat_map.md

File metadata and controls

36 lines (28 loc) · 1004 Bytes

Flat Map - [Mapa Plano]

  • Definição:

    • Stream flatMap(Function<? super T,? extends Stream<? extends R>> mapper)
  • Tipo:

    • Operação Intermediária
  • Parâmetro:

    • Função
  • Retorno:

    • Retorna um fluxo mapeado de forma plana, ou seja, um fluxo que contém a unificação de vários fluxos que podem ter sido alterados ou não
  • Exemplo:

    List<Pessoa> pessoas = Arrays.asList(
    	new Pessoa("João", new ArrayList<>(Arrays.asList("Vermelho", "Azul"))),
    	new Pessoa("Maria", new ArrayList<>(Arrays.asList("Verde", "Amarelo"))),
    	new Pessoa("José", new ArrayList<>(List.of("Roxo")))
    );
    List<String> cores_favoritas = 
        pessoas.stream()
                .flatMap(p -> {
    		        p.addCorFavorita("Cinza");
    		        return p.getCoresFavoritas().stream();
                })
                .toList();
    
  • Diagrama:

    Flat Map

  • Fonte: