php 편집기 Strawberry는 Java 8에서 스트림을 3개 필드로 그룹화하고 다른 두 필드를 합계로 집계하는 방법에 대한 질문과 답변을 제공합니다. Java 프로그래밍에서 스트림은 컬렉션을 처리하는 새로운 방법입니다. 스트림을 사용하면 데이터를 보다 편리하게 조작하고 처리할 수 있습니다. 이 기사에서는 Java 8의 스트림 기능을 사용하여 3개 필드로 그룹화하고 다른 두 필드에 대해 합계 집계를 수행하는 방법을 자세히 소개합니다. 이 흥미로운 질문을 함께 살펴보겠습니다!
Java 8이 처음인데 유사한 질문에 대해 제공된 솔루션을 구현하는 데 어려움을 겪고 있습니다. 도와주세요.
Java 8에서 나머지 두 개의 정수 필드를 합산해야 하는 여러 행을 반환하는 세 개의 필드로 그룹화하는 방법입니다. 아래 dto/pojo 클래스에서는 uuid, msgdate 및 채널 조합의 고유 키를 기반으로 들어오는 개수와 나가는 개수 필드를 합산해야 합니다.
으아악//초기화 목록 예시입니다.
으아악출력 개체에는 다음 데이터가 포함되어야 합니다.
uuid msgdate 채널 수신 개수 발신 개수
c9c3a519 2023년 12월 민수기 8 3
c9c3a519 2023년 11월 숫자 4 4
c9c3a519 2023년 12월 매뉴얼 8 3
c9c3a519 2023년 11월 매뉴얼 4 4
...
...
...
결과를 지도로 수집하세요. 이 예에서는 Collectors.toMap(keyMapper, valueMapper, mergeFunction, mapFactory)을 사용합니다.
또한 간결함을 위해 롬복 주석을 사용합니다.
먼저 그룹화하려는 키와 집계 데이터를 나타내는 클래스를 만듭니다.
으아악 으아악그런 다음 키와 초기 집계를 생성하는 2가지 방법을 더 추가하여 reportdata
확장합니다.
데이터 수집:
으아악컬렉터의 매개변수는 다음과 같습니다:
reportdata::createkey
- 그룹화할 키 생성(지도의 키) reportdata::createcount
- 단일 reportdata::createcount
- 从单个 reportdata
(지도 값)에서 초기 집계 count::merge
- 在按键冲突时合并两个 count
(병합 방법 참조)linkedhashmap::new
- 用于插入结果的 map
공장. 삽입 순서를 유지하고 싶지만 필요하지 않은 경우 매개변수를 생략하여 기본 팩토리를 사용할 수 있습니다. 인쇄:
으아악위 내용은 Java 8 스트림은 3개 필드로 그룹화하고 다른 두 필드를 합계로 집계합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!