보근은 참고 있다
Stream 본문
Stream
순차 및 병렬 집합 연산을 지원하는 일련의 요소. 데이터를 담고 있는 저장소가 아니며, 스트림이 처리하는 데이터 소스는 변경되지 않는다. 중계 오퍼레이터와 종료 오퍼레이터가 있다.
중계 오퍼레이터
- distinct() - 이 스트림의 별개의 요소(Object.equals(Object)에 따라)로 구성된 스트림을 반환한다. (중복 제거)
- filter(Predicate) - Predicate와 일치하는 요소들만 모아서 스트림을 반환.
- map(Function) - Function으로 각각의 요소들을 변환.
- flatMap(Function) - map과 비슷하지만, Function의 반환값이 Stream<U>이고, Optional의 faltMap과 마찬가지로 컬렉션이나 Optional 객체를 받으면 한꺼풀 벗겨준다.
- peek(Consumer) - 요소들을 넘길 때 Consumer의 동작을 수행한다. (forEach랑 비슷한데 얘는 Stream을 반환)
- generate(Supplier) - Supplier로 반환받는 값을 무한히 쏘는 스트림을 만든다.
- iterate(T, UnaryOperator) - generate()랑 비슷한데, 초기값을 받고, UnaryOperator를 수행한 결과를 무한히 쏘는 스트림을 만든다.
- limit(long) - 앞에서 받은 스트림의 최대 개수를 long으로 한정함.
- skip(long) - 앞에서 받은 스트림 중 long개를 skip하고 그 뒤의 요소들을 넘긴다.
종료 오퍼레이터
- count() - 스트림의 개수를 세서 long으로 반환한다.
- anyMatch(Predicate) - Predicate에 일치하는 요소가 있는지 반환한다.
- allMatch(Predicate) - 모든 요소가 Predicate에 일치하는지 반환한다.
- noneMatch(Predicate) - 모든 요소가 Predicate에 불일치하는지 반환한다.
- forEach(Consumer) - 받은 요소들로 Consumer의 동작을 수행한다.
- max(Comparator) - Comparator에 따라 최댓값을 반환한다.
- collect(Collector) - Collector에 따라 요소들을 모은다.
'Language > 자바' 카테고리의 다른 글
자바의 Upcasting과 Downcasting (0) | 2021.07.18 |
---|---|
String vs StringBuilder vs StringBuffer (0) | 2021.07.17 |
Functional Interface (0) | 2020.11.01 |
Optional (0) | 2020.10.31 |
SOLID (객체 지향 설계 원칙) (0) | 2020.10.28 |
Comments