중간 연산 | 설명 |
---|---|
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) | 스트림의 요소를 수집한다. 주로 요소를 그룹화하거나 분할한 결과를 컬렉션에 담아 반환하는데 사용된다. |