배열+컬렉션+파일
+ Stream
중간 처리와 최종 처리를 할 수 있음
// flatmap: 1:n 로 맵핑
// k가 "A/B/C/D"인 경우 k.split("/")은 {"A", "B", "C", "D"} 배열을 반환
// Arrays.stream 메소드를 사용하여 이 배열을 스트림으로 변환
// 스트림 변환시 반복문(for each)을 통한 데이터 처리를 효과적으로 수행
// 이렇게 변환된 스트림은 flatMap 연산자를 사용
List<String> list5 = Arrays.asList("A/B/C/D");
list5.stream()
.flatMap(s -> Arrays.stream(s.split("/"))) // "/" 기준으로 문자열 분리 후 Stream<String> 으로 반환
.forEach(System.out::println);
- 최종 처리: 최대, 최소, 평균, 총합 등 집계, 변환(List, Set, map), 반복 출력