Stream 중간 연산
- 0 ~ n번 연산
- 연산 결과가 스트림인 연산
- 반복적으로 적용 가능
스트림 자르기 - skip()
limit()
Stream<T> skip(long n)
Stream<T> limit(long maxSize)
스트림의 요소 걸러내기 - filter()
distinct()
Stream<T> filter(Predicate<? super T> predicate)
- 조건에 맞지 않는 요소 제거
- 여러 번 사용가능 (중간 연산)
Stream<T> distinct()
스트림 정렬하기 - sorted()
Stream<T> sorted()
Stream<T> sorted(Comparator<? super T> comparator)
- 스트림 요소의 기본 정렬로 정렬
- 지정된
Comparator
로 정렬
Comparator 의 comparing()
으로 정렬 기준을 제공
studentStream.sorted(Comparator.comparing(Student::getBan))
.thenComparing(Student::getTotalScore)
.forEach(System.out::println);
- 반환 타입 -
Comparator
- 추가 정렬 기준은
thenComparing()
사용
- 반전 정렬은
reversed()
사용
스트림의 요소 변환 - map()
Stream<R> map(Function<? super T,? extends R> mapper)