Java - Stream intermediate operation

iseon_u·2022년 6월 11일
0

Java

목록 보기
72/77
post-thumbnail

Stream 중간 연산


  • 0 ~ n번 연산
  • 연산 결과가 스트림인 연산
  • 반복적으로 적용 가능

스트림 자르기 - skip() limit()

Stream<T> skip(long n)
  • 앞에서부터 n 개 건너뛰기
Stream<T> limit(long maxSize)
  • maxSize 이후의 요소는 잘라냄

스트림의 요소 걸러내기 - filter() distinct()

Stream<T> filter(Predicate<? super T> predicate)
// .filter(i->i%2==0) // 2의 배수
  • 조건에 맞지 않는 요소 제거
  • 여러 번 사용가능 (중간 연산)
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) 
// Stream<T> -> Stream<R>
profile
🧑🏻‍💻 Hello World!

0개의 댓글