Skip to content

Latest commit

 

History

History
94 lines (81 loc) · 2.42 KB

File metadata and controls

94 lines (81 loc) · 2.42 KB

Maps e Streams

Objetivo
Develop code that uses the merge(), flatMap(), and map() methods on Java Streams
-
Desenvolver código que usa os métodos merge(), flatMap(), e map() em Streams Java.

Dos objetivos desta seção, apenas o método merge ainda não foi apresentado em outras seções.

  1. É possível colocar um novo valor em um mapa, ou alterar o valor que já estava presente, utilizando o método merge.

    src/org/j6toj8/collections/mergemap/Collections_Merge.java
    link:../../../src/org/j6toj8/collections/mergemap/Collections_Merge.java[role=include]
    Saída no console
    Map antes do merge: {1=String1-, 2=String2-}
    Map depois do merge: {1=String1-StringA, 2=String2-StringB, 3=StringC, 4=StringD}

    Perceba que, para as chaves que já estavam presentes no Map, foi aplicada a função lambda. Para as chaves que ainda não estavam presentes, foi apenas inserida a String passada como valor.

  2. É possível transformar valores em uma coleção com o método map.

    src/org/j6toj8/collections/mergemap/Collections_Map.java
    link:../../../src/org/j6toj8/collections/mergemap/Collections_Map.java[role=include]
    Saída no console
    2
    4
    6
    8
    10
    12
    14
    16
    18
  3. É possível percorrer outro Stream, em sequência com o Stream atual, utilizando o método flatMap.

    src/org/j6toj8/collections/mergemap/Collections_FlatMap.java
    link:../../../src/org/j6toj8/collections/mergemap/Collections_FlatMap.java[role=include]
    Saída no console
     Com map:
    java.util.stream.ReferencePipeline$Head@e9e54c2
    
     Com flatMap:
    M
    a
    n
    o
    e
    l

    Perceba que uma transformação que resulta em outro Stream é percorrida como se fosse o próprio Stream original.

Referências
  • Additions in Java 8

    Boyarsky, Jeanne; Selikoff, Scott. OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide (p. 152). Wiley. Edição do Kindle.

  • Using Streams

    Boyarsky, Jeanne; Selikoff, Scott. OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide (p. 185). Wiley. Edição do Kindle.

  • The Java 8 Stream API Tutorial.

  • Merging Two Maps with Java 8.