관리 메뉴

KorSA

JAVA 스트림 중간 연산, map(), flatmap(), sorted() 본문

Knowledge Wiki/Java

JAVA 스트림 중간 연산, map(), flatmap(), sorted()

Praiv. 2021. 12. 2. 12:44
320x100

1. 스트림 중간 연산의 핵심은 map()과 flatmap()

2. 스트림 중간 연산 - sorted() 연산
    Comparator의 comparing()으로 정렬 기준을 제공

studentStream.sorted(Comparator.comparing(Student::getBan))
	.forEach(System.out::println);


추가 정렬 기준을 제공할 때는 thenComparing()을 사용

studentStream.sorted(Comparator.comparing(Student::getBan)
	.thenComparing(Student::getTotalScore()
	.thenComparing(Student::getName)
	.forEach(System.out::println);


3. 스트림 중간 연산 - map() 연산
    스트림의 요소를 변환한다

Stream<R> map(Function<? super T,? extends R> mapper) // Stream<T>->Stream<R>
Stream<String> filenameStream = fileStream.map(File::getName);


4. 스트림 중간 연산 - peek() 연산
    스트림 연산 중간 중간에 디버깅 용도로 많이 사용

5. 스트림 중간 연산 - flatMap()
    스트림의 스트림을 스트림으로 변환한다

Stream<String[]> strArrStrm = Stream.of(new String[]{"abc", ",def", "ghi"}, new String[] {"ABC","GHI","JKLMN"});
Stream<Stream<String>> strStrStrm = strArrStrm.map(Arrays::stream); // map()을 쓰면 Stream의 Stream 형태로 리턴된다
Stream<String> strStrStrm = strArrStrm.flatMap(Arrays::stream); // flatMap()을 쓰면 Stream형태로 리턴한다.
728x90
728x90

'Knowledge Wiki > Java' 카테고리의 다른 글

JAVA 스트림 최종 연산 - reduce(), collect(), forEach()  (0) 2021.12.02
JAVA Optional 객체  (0) 2021.12.02
JAVA 람다식 iterate(), generate()  (0) 2021.12.02
JAVA 스트림  (0) 2021.12.02
JAVA 메서드 참조  (0) 2021.12.01
Comments