1. 스트림의 연산
- 스트림이 제공하는 기능 - 중간 연산과 최종 연산
- 중간 연산
중간 연산 | 설명 | |
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> DoubleStream IntStream LongStream Stream<R> DoubleStream IntStream LongStream |
map(Function<T,R> mapper) mapToDouble(ToDoubleFunction<T> mapper) mapToInt(ToIntFunction<T> mapper) mapToLong(ToLongFunction<T> mapper) flatMap(Function<T,Stream<R>> mapper) flatMapToDouble(Function<T,DoubleStream> m) flatMapToInt(Function<T,IntStream> m) flatMapToLong(Function<T, LongStream> m) |
스트림의 요소를 반환한다. |
- 최종 연산
최종 연산 | 설명 |
void forEach(Consumer<? super T> action) void forEachOrdered(Consumer<? super T> action // 순서유지, 병렬 |
각 요소에 지정된 작업 수행 |
long count() | 스트림의 요소의 개수 반환 |
Optional<T> max(Comparator<? super T> comparator) Optional<T> mim(Comparator<? super T> comparator) |
스트림의 최대값/최고값을 반환 |
Optional<T> findAny() // 아무거나 하나 Optional<T> findFirst() // 첫 번째 요소 |
스트림의 요소 하나를 반환 |
boolean allMatch(Predicate<T> p) // 모두 만족하는지 boolean anyMatch(Predicate<T> p) // 하나라도 만족하는지 boolean noneMatch(Predicate<T> p) // 모두 만족하지 않는지 |
주어진 조각을 모든 요소가 만족시키는지 만족시키지 않는지 확인 |
Object[] toArray() A[] toArray(IntFunction<A[]> generator) |
스트림의 모든 요소를 배열로 반환 |
Optional<T> reduce(BinaryOperator<T> accumulator) T reduce(T identity, BinaryOperator<T> accumulator) U reduce(U identity, BiFunction<U,T,U> accumulator, BinaryOperator<U> combiner) |
스트림의 요소를 하나씩 줄여가면서(리듀싱) 계산한다. |
R collect(Collector<T,A,R> collector) R collect(Supplier<R> supplier, BiConsumer<R,T> accumulator, BiConsumer<R,R> combiner) |
스트림의 요소를 수집한다. 주로 요소를 그룹화하거나 분할한 결과를 컬렉션에 담아 반환하는데 사용된다. |
'Java' 카테고리의 다른 글
145. 스트림의 중간연산(2) - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.01.11 |
---|---|
144. 스트림의 중간연산 - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.01.10 |
142. 스트림만들기 - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.01.10 |
141. 스트림, 스트림의 특징 - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.01.10 |
140. 메서드 참조, 생성자의 메서드 참조 - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.01.10 |