Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

보근은 참고 있다

Stream 본문

Language/자바

Stream

보근 2020. 10. 31. 23:02

 

 

 

 

 

 

 

 

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