❗ 본 포스팅은 타이핑 공부법으로 작성하였습니다. 그렇기에 부족한 점이 존재할 수 있습니다.
6.1 컬렉터란 무엇인가?
- 일종의 reduce이라고 생각을 해도 될듯 하다.
- 컬렉터의 요소를 다루는 메소드
6.2 리듀싱과 요약
- 기존의 filter, reduce메소드로 스트림 연산이 가능하지만 리듀싱을 이용하면 더 간단하게 데이터를 요약할 수 있다.
- 메서드 참조로 가능하며 미리 만들어둔 연산들이 존재한다.(joining()같은 메소드들)
6.3 그룹화
- stream의 요소를 특정 기준으로 그룹으로 나누는 것을 의미
- groupingBy이며 첫번째 인자로는 무엇을 기준으로 나눌지를 의미하고 두번째 인자는 나눈 요소들을 어떻게 할지을 의미한다.
- ex)첫 번째 요소는 isVegeterian, 두 번째 요소는 toList(), toSet()와 같이 요소 어떻게 할지에 대한 것을 의미한다.
- groupingBy의 두번째 인자로 새로운 groupingBy를 통해 그룹화를 다시 진행할 수 있다.
6.4 분할
- 분할은 특수한 그룹화이다.
- 기존의 그룹화는 기준에 따라 여러개의 그룹으로 묶였지만 분할은 true, false으로 나누어진다.
- 분할 역시 또다른 분할로 나누어질 수 있다.
6.6 Collector 인터페이스
- 직접 구현할수 있으며 직접 구현할 경우 스트림 연산의 세부적인 것까리 제어가 가능해 성능을 높일 수 있다.
'책 > 모던 자바 인 액션' 카테고리의 다른 글
8장 컬렉션 API 개선 (0) | 2024.06.12 |
---|---|
7장 병렬 데이터 처리와 성능 (0) | 2024.06.11 |
5장 스트림 활용 (0) | 2024.06.07 |
4장 스트림 소개 (0) | 2024.06.05 |
3장 람다 표현식 (0) | 2024.06.05 |