本家はこちら
mapとflatmapのメモ.
map: 個数が変わらない。2個渡したら2個返ってくる flatmap: streamに変換させて、それを合成する。戻ってくるのはstreamが1つ。
@RunWith(JUnit4.class)
public class SampleTest {
@Test
public void test() {
// map
Arrays.asList("a,b,c", "d,e")
.stream()
.map(e -> Arrays.stream(e.split(",")))
.forEach(System.out::println);
// flatmap
Arrays.asList("a,b,c", "d,e")
.stream()
.flatMap(e -> Arrays.stream(e.split(",")))
.forEach(System.out::println);
}
}
出力結果は下記
# map
java.util.stream.ReferencePipeline$Head@18ce0030
java.util.stream.ReferencePipeline$Head@4445629
# flatmap
a
b
c
d
e