728x90
.map()
- .map()은 단일 스트림의 원소를 매핑시킨 후 매핑시킨 값을 다시 스트림으로 반환하는 중간 연산을 담당한다.
- 필터가 조건을 충족시키는 새로운 스트림을 생선한다면, Map은 각각의 아이템을 변경하여 새로운 컨텐츠를 생성하는 기능이다.
List<Person> list = Arrays.asList(
new Person(20,"kim"),
new Person(21,"moon"),
new Person(22,"sub"),
new Person(23,"park")
);
list.stream().map(Person::getName)
.forEach(System.out::println);
kim
moon
sub
park
.flatMap()
- flatMap() 은 여러개의 스트림을 한개의 스트림으로 합쳐준다.
- 복잡한 스트림을 간단한 스트림으로 변경되는데 사용할 수 있다.
- 예를들어 아래 코드에서는 Stream<String[]>를 Stream<String> 형태로 변환하였다.
String[][] arrays = new String[][]{ {"a1", "a2"}, {"b1", "b2"}, {"c1", "c2", "c3"} };
Stream<String[]> stream = Arrays.stream(arrays);
Stream<String> stream2 = stream.flatMap(s -> Arrays.stream(s));
stream2.forEach(System.out::println);
a1
a2
b1
b2
c1
c2
c3
출처 : https://1-7171771.tistory.com/100
728x90
'JAVA' 카테고리의 다른 글
SimpleDataFormat 함수 사용법(feat. 날짜 관련) (2) | 2022.12.16 |
---|---|
람다식 중간연산 정리 (map, filter, reduce, collect) (0) | 2022.10.19 |
GSON 라이브러리에 대해(편리한 JSON 변환에 관해) (0) | 2022.09.15 |
Java 엑셀 파일(Excel) 다운로드 (0) | 2022.09.05 |
JAVA stream filter 정리 (0) | 2022.09.01 |