본문 바로가기

JAVA

스트림2 스트림의 중간연산

스트림의 연산

스트림이 제공하는 기능 - 중간연산과 최종연산

 

중간연산 - 연산결과가 스트림인 연산 반복적으로 사용가능

최종연산 - 연산결과가 스트림이 아닌 연산 , 단 한번만 적용가능 (스트림 요소를 소모)

 

Stream.distinct().limit().sorted().forEach(system.out.println)

 

스트림의 연산 , 중간연산

Stream<T> distinct() // 중복제거

Stream<T> filter(predicate<T> predicate) //조건에 안맞는요소를 걸러낸다.

Stream<T> limit(long maxSize) //스트림의 일부를 잘라낸다.

Stream<T> skip(long n) //스트림의 일부를 건너뛴다.

Stream<T> peek(Consumer<T> action) //스트림각 요소에 작업 수행

Stream<T> sorted() //스트림 요소 기본정렬

Stream<T> sorted(comparator<T> comparator) //정렬기준 적용

 

스트림의 요소 변환(스트림 핵심)

스트림의 요소를 특정형태의 스트림으로 변환한다.

Stream<R> Map(Function<T,R> mapper)

DoubleStream MapToDouble(ToDoubleFunction<T> mapper)

IntStream MapToInt(ToIntFunction<T> mapper)

LongStream MapToLong(ToLongFunction<T> mapper)

 

Stream<R> flatMap(Function<T.Stream<R> mapper)

DoubleStream flatMap ToDouble(Function<T.DoubleStream> m)

IntStream flatMapToInt(Function<T.IntStream> m)

LongStream flatMapToLong(Function<T.LongStream> m)

'JAVA' 카테고리의 다른 글

스트림4 중간연산 예제  (0) 2023.03.16
스트림3 스트림의 최종연산  (0) 2023.03.15
스트림1 스트림의 특징  (0) 2023.03.15
람다6 메소드 참조  (0) 2023.03.15
람다5 함수 두개를 연결 andThan  (0) 2023.03.15