인프런 강의 "더 자바, JAVA8"(백기선님)의 강의를 듣고 정리한 글 입니다.
JAVA8에 추가된 핵심 기능들을 이해하기 쉽게 설명해 주시니 한번씩 들어보시는 것을 추천드립니다.
List<String> upperCaseNames =
names.stream().map(name -> name.toUpperCase()).collect(Collectors.toList());
// names 에 영향을 주지 않는다.
names.stream().map(name -> {
String upperCaseName = name.toUpperCase();
System.out.println(upperCaseName);
return upperCaseName;
});
// map은 중개 오퍼레이션이기 때문에 upperCaseName은 출력되지 않는다.
// 종료 오퍼레이션이 있어야 출력이 된다.
names.parallelStream().map(name -> {
String upperCaseName = name.toUpperCase();
System.out.println(upperCaseName);
System.out.println(Thread.currentThread().getName());
return upperCaseName;
}).collect(Collectors.toList());
// 출력 결과
main
WHITE
ForkJoinPool.commonPool-worker-2
JAY
ForkJoinPool.commonPool-worker-11
KEESUN
ForkJoinPool.commonPool-worker-9