◆ 매칭(Match)
- 최종 처리 메소드이다. 결과를 true, false로 리턴한다.
- 최종 처리 단계에서 요소들이 특정 조건에 만족하는지 조사하는 기능이다.
◇ allMatch()
: 모든 요소들이 매개 값으로 주어진 Predicate의 조건을 만족하는지 조사한다.
◇ anyMatch()
: 최소한 한 개의 요소가 매개 값으로 주어진 Predicate의 조건을 만족하는지 조사한다.
(하나라도 만족하면 true, false려면 모두 만족하지 않아야 한다.)
◇ noneMatch()
: 모든 요소들이 매개 값으로 주어진 Predicate의 조건을 만족하지 않는지를 조사한다.
◆ Aggregate
기본 집계
최종 처리 기능으로 요소들을 처리해서 카운팅, 합계, 평균값, 최대값, 최소값 등과 같이 하나의 값으로 산출하는 것을 말한다.
◇ count()
: 요소의 개수를 리턴한다.
◇ sum()
: 요소의 합계를 리턴한다.
◇ average()
: 요소의 평균을 리턴한다.
◇ max()
: 최대 요소를 리턴한다.
◇ min()
: 최소 요소를 리턴한다.
◇ findFirst()
: 첫 번째 요소를 리턴한다. (cf. findany() 무조건 첫 번째 요소가 아닐 수 있음)
커스텀 집계
스트림에서 기본 집계 메소드를 제공하지만 다양한 집게 결과물을 만들 수 있도록 reduce() 메소드를 제공한다.
◇ 매개 타입으로 XXXOperator
◇ 리턴 타입으로 OptionalXXX
Optional 클래스
- 스트림의 최종 결과 값을 저장하는 객체이다.
- 단순히 값만 저장하는 것이 아니라, 값의 존재 여부를 확인하고 값이 존재하지 않을 경우 디폴트 값을 설정할 수 있는 객체이다.
◇ get()
: 저장되어 있는 값을 얻기 위해 사용한다.
◇ isPresent()
: 값이 저장되어 있는지 검사한다.
◇ orElse()
: get()과 동일하게 저장되어 있는 값을 얻어오는 메소드로 값이 저장되어 있지 않을 경우 디폴트 값을 지정한다.
◇ ifPresent(Consumer)()
: 값이 저장되어 있을 경우 Consumer에서 값을 처리한다.
◆ 수집(Collect)
- 스트림 요소들은 필터링 또는 매핑한 후 요소들을 수집하는 최종 처리 메소드인 collect()를 제공한다.
- collect() 메소드를 사용하면 필요한 요소만 새로운 컬렉션으로 담아서 리턴받을 수 있다.
'Programming > Java' 카테고리의 다른 글
DAY 100. JAVA - 스트림(Stream) 중간 처리 메소드 종류 (0) | 2021.11.26 |
---|---|
DAY 99. JAVA - 람다식(lambda) 표준 함수적 인터페이스 종류 (0) | 2021.11.25 |
DAY 98. JAVA - 람다식(lambda) (0) | 2021.11.25 |
DAY 33. [JAVA] 변수 (0) | 2021.09.19 |
DAY 16. [JAVA] 변수의 형변환(Casting) 종류와 정의 (0) | 2021.09.01 |