Java - Stream Operation

iseon_u·2022년 6월 11일
0

Java

목록 보기
71/77
post-thumbnail

Stream Operation


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

중간 연산

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

최종 연산

  • 연산 결과가 스트림이 아닌 연산
  • 단 한번만 적용 가능
  • 스트림의 요소를 소모

중간 연산의 종류

중간 연산설명
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)
스트림의 요소를 정렬한다.
IntStream mapToInt(ToIntFuncion<T> mapper)
IntStream flatMapToInt(Function<T, IntStream> m)
스트림 요소를 변환 (람다식)

최종 연산의 종류

최종 연산설명
void forEach(Consumer<? super T> action)
void forEachOrdered(Consumer<? super T> action)
각 요소에 지정된 작업 수행
long count()스트림의 요소의 개수 반환
Optional max(Comparator<? super T> comparator)
Optional
min(Comparator<? super T> comparator)
스트림의 최대값/최소값을 반환
Optional findAny()
Optional findFirst()
스트림의 요소 하나를 반환
(filter() 와 같이 사용)
boolean allMatch(Predicate p)
boolean anyMatch(Predicate p)
boolean noneMatch(Predicate p)
주어진 조건을 모든 요소가 만족시키는지 확인
Object[] toArray()
A[] toArray(IntFunction<A[]> generator)
스트림의 모든 요소를 배열로 반환
Optional reduce(BinaryOperator accumulator)
T reduce(T identity,
BinaryOperator accumulator)
U reduce(U identity, BiFunction<U, T, U>accumulator, BinaryOperator combiner)
스트림의 요소를 하나씩 줄여가면서 계산한다.
R collect(Collector<T,A,R> collector)
R collect(Supplier supplier,BiConsumer<R,T> accumulator, BiConsumer<R,R> combiner)
스트림의 요소를 수집한다.
주로 요소를 그룹화하거나 분할한 결과를 컬렉션에 담아 반환하는데 사용된다.
profile
🧑🏻‍💻 Hello World!

0개의 댓글