본문 바로가기

책/모던 자바 인 액션

6장 스트림으로 데이터 수집

❗ 본 포스팅은 타이핑 공부법으로 작성하였습니다. 그렇기에 부족한 점이 존재할 수 있습니다.

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