collectors.tomap 예제

By Dave Sanasack, on Aug, 02 2019

개체 목록을 맵으로 변환하는 방법과 중복된 키를 처리하는 방법을 보여 줄 Java 8 의 예는 거의 없습니다. 다음 예제에서는 다음 예제를 다시 사용할 것입니다. 다른 맵 구현으로 변환됩니다. . 위의 예에서 스트림은 수집하기 전에 정렬되므로 “linode.com=100000″은 `oldValue`가 되었습니다. 예를 들어 각 도시에 있는 사람들의 성 집합을 계산하려면 키매퍼: 각 입력 스트림 요소에 대한 맵 키를 생성하는 매핑 함수입니다. 반환 값: 이 메서드는 키 를 입력 요소에 적용 한 결과 키 를 수집 하는 맵에 요소를 수집 하는 Collector를 반환 하 고 그 값은 키와 동일한 모든 입력 요소에 값 매핑 함수를 적용 한 결과 및 병합 기능을 사용하여 결합합니다. 각 책의 출시 연도에 따라 지도를 키로 작성한 것을 상상해 봅시다: 그제고르츠, baeldungCollectorsArticle는 은유적인 연설 그림의 예입니다. `baeldungCollectors기사`는 이 블로그 게시물에 불과합니다. 그리고 제공 된 스니펫의 의미로 내가 말하고 싶은 :- “모든 제공 개요 자바8 수집가 개념은이 블로그 게시물 (나는 `baeldungCollectorsArticle`를 말하는) 잘 개요에 대한 축적과 피니셔로 결론과 하나의 게시물에 결합 명확 하 게 하 고 포인트 특성.” 즉, 나에 따라이 문서는 공급 업체, 축하, 결합기, 피니셔 및 특성이 있습니다. 그것을 해결 하려면, 우리는 추가 매개 변수와 다른 메서드를 사용 해야 합니다., mergeFunction: 2.2 위의 중복 된 키 문제를 해결 하려면, 이와 같은 세 번째 mergeFunction 인수를 전달 : . 다행히Java 12는 당사를 대신하여 이러한 단계를 처리하는 기본 제공 컬렉터를 제공합니다. groupingBy 메서드의 두 번째 인수는 Collector이며 원하는 컬렉터를 자유롭게 사용할 수 있습니다.

호스팅 개체 목록을 만들고 Collectors.toMap을 사용하여 맵으로 변환합니다. . toMap() 메서드는 제공된 매핑 함수를 입력 요소에 적용한 결과키와 값이 있는 맵에 요소를 축적하는 Collector를 반환하는 Collectors 클래스의 정적 메서드입니다.