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.
-
É 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.javalink:../../../src/org/j6toj8/collections/mergemap/Collections_Merge.java[role=include]
Saída no consoleMap 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 aStringpassada como valor. -
É possível transformar valores em uma coleção com o método
map.src/org/j6toj8/collections/mergemap/Collections_Map.javalink:../../../src/org/j6toj8/collections/mergemap/Collections_Map.java[role=include]
Saída no console2 4 6 8 10 12 14 16 18
-
É possível percorrer outro Stream, em sequência com o Stream atual, utilizando o método
flatMap.src/org/j6toj8/collections/mergemap/Collections_FlatMap.javalink:../../../src/org/j6toj8/collections/mergemap/Collections_FlatMap.java[role=include]
Saída no consoleCom 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.
-
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.