collect() 메서드(2) - partitioningBy()

2022. 4. 20. 14:46·자바/스트림

1. 그룹화와 분할 - groupingBy(), partitioningBy()

- 그룹화는 스트림의 요소를 특정 기준으로 그룹화하는 것을 의미한다.

 

- 분할은 스트림의 요소를 두 가지, 즉, 지정된 조건에 일치하는 그룹과 일치하지 않는 그룹으로의

분할을 의미한다.

 

- 그룹화 메서드 groupingBy()는 스트림의 요소를 Function 매개변수로 받는다. 

 

- 분활 메서드 partitioningBy()는 스트림의 요소를 Predicate 매개변수로 받는다.

 

- 그룹화와 분할 메서드는 매개변수의 차이만 있을 뿐 동일하다. 그러나, 만약 두 개의 그룹으로

나눠야 한다면 partitioningBy()가 더 빠르고, 그 외는 groupingBy()를 사용한다.

 

- 그룹화와 분할의 결과는 Map에 담겨 반환된다.

 

- groupingBy()는 collect() 메서드(3)에서 할 것이다.

collect() 메서드(3) - groupingBy() (tistory.com)

 

collect() 메서드(3) - groupingBy()

 

kind-coding.tistory.com

 

 

( 아래의 Student의 정보가 있는 stu2클래스가 정의되어 있다고 가정하고 아래의 예제를 수행할 것이다. )

 

 

 

 

2. PartitioningBy()에 의한 분류

 

(1) 남,녀 학생의 성별을 분할하기.

 

 

 

(2) 남, 녀 학생의 성별로 분할 후, counting() 하기.

 

 

 

(3) 남, 녀 학생의 성별로 분할 후, 각각 최고 점수자를 출력하기.

 

( collectingAndThen()은 Optional<Stu>가 아닌 Stu를 뽑는 방법이다. )

 

 

 

(4) 남, 녀 학생의 성별을 분할 후, 점수가 100점 이하인 학생을 출력하기.

 

'자바 > 스트림' 카테고리의 다른 글

Collector  (0) 2022.04.21
collect() 메서드(3) - groupingBy()  (0) 2022.04.20
collect() 메서드(1)  (0) 2022.04.19
스트림의 최종 연산(조건 검사, 통계, 리듀싱)  (0) 2022.04.15
Optional<T>와 OptionalInt  (0) 2022.04.15
'자바/스트림' 카테고리의 다른 글
  • Collector
  • collect() 메서드(3) - groupingBy()
  • collect() 메서드(1)
  • 스트림의 최종 연산(조건 검사, 통계, 리듀싱)
백_곰
백_곰
  • 백_곰
    친절한 코딩
    백_곰
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 알고리즘 (with JAVA)
        • 기본 알고리즘
        • 완전 탐색
        • 분할 정복 알고리즘
        • 동적 계획법
        • 탐욕법
        • 코딩 테스트 기출 문제
        • 코드트리 조별과제
      • 백준 (with JAVA)
        • 완전 탐색
        • 분할 정복
        • 그 외
      • 자바
        • 개발 환경 구축하기
        • 팁
        • 기본적인 개념
        • 컬렉션 프레임워크
        • 프로세스와 쓰레드
        • 지네릭스
        • 람다식
        • 스트림
        • 입출력 IO
        • 네트워킹
        • 열거형(enums)
        • java.lang 패키지
        • java.time 패키지
        • 유용한 클래스들
        • 형식화 클래스들
      • 안드로이드 with 자바
        • 응용 문제들
        • 자잘한 문제들
        • 오류 보고서
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      ServerSocket
      java.time 패키지
      문자 기반 스트림
      안드로이드 스튜디오
      Collections Framework
      중간연산
      유용한 클래스
      java.lang패키지
      InputStream
      알고스팟
      소켓 프로그래밍
      불안정 정렬
      안정 정렬
      file
      선택 정렬
      snail
      코딩트리조별과제
      TCP 소켓 프로그래밍
      serializable
      다형성
      outputstream
      코드트리
      자바 개념
      람다식
      제자리 정렬
      map()
      스트림
      Arrays
      역직렬화
      코딩테스트
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    백_곰
    collect() 메서드(2) - partitioningBy()
    상단으로

    티스토리툴바