collectors.tomap 예제

개체 목록을 맵으로 변환하는 방법과 중복된 키를 처리하는 방법을 보여 줄 Java 8 의 예는 거의 없습니다. 여기에서 다루는 모든 예제에 대해 책 목록을 시작점으로 사용하고 다른 맵 구현으로 변환합니다. 다음 예제에서는 다음 예제에서 다음 목록을 다시 사용할 것입니다. 입력 요소에 키 매핑 함수를 적용한 결과, 해당 값은 키와 동일한 모든 입력 요소에 값 매핑 함수를 적용하고 병합 함수를 사용하여 결합한 결과입니다. 추가 매개 변수인 mergeFunction:이 새 컬렉터는 지정된 스트림을 두 가지 방향으로 이동하므로 티잉(teeing)이라고 합니다. 컬렉터는 분류 함수를 입력 요소에 적용하여 발생하는 값인 표키와 해당 값이 아래의 관련 키에 매핑되는 입력 요소를 포함하는 목록인 Map<K, List>를 생성합니다. 분류 기능. 반환 값: 이 메서드는 키와 값이 입력 요소에 매핑 함수를 적용 한 결과 인 지도에 요소를 수집 하는 수집기를 반환 합니다 withMap, 우리는 지도에 대 한 키와 값을 얻을 하는 방법에 대 한 전략을 나타낼 수 있습니다. 모든 스트림 요소를 단순히 계산할 수 있는 간단한 수집기입니다. 여기서 맵Supplier는 결과와 함께 빈 새 맵을 반환하는 함수입니다. 각 책의 출시 연도별로 지도를 키에 기록했다고 가정해 보겠습니다.

. PartitioningBy는 조건자 인스턴스를 수락하고 부울 값을 키및 컬렉션으로 저장하는 Map 인스턴스에 스트림 요소를 수집하는 groupingBy의 특수한 경우입니다. „true“ 키에서 지정된 술어와 일치하는 요소 컬렉션을 찾을 수 있으며 „false“ 키 에서 지정된 술어와 일치하지 않는 요소 컬렉션을 찾을 수 있습니다. 매핑된 키에 중복(Object.equals(Object)에 따라 포함되는 경우 컬렉션 작업이 수행될 때 IllegalStateException이 throw됩니다. 매핑된 키에 중복이 있을 수 있는 경우 대신 toMap(함수, 함수, 바이너리연산자)을 사용합니다. 다음은 사용량과 함께 전체 구현입니다: Stream API 자체에 대해 자세히 보려면 이 문서를 확인하십시오. 이 자습서에서는 스트림 처리의 마지막 단계에서 사용되는 Java 8의 수집기(Collectors)를 진행합니다. 이 작동하지 않음: 맵 결과1 = list.stream().collect(Collectors.toMap(호스팅::getId, 호스팅)); 그제고르츠, baeldungCollectors기사는 연설의 은유 그림의 예입니다. `baeldungCollectors기사`는 이 블로그 게시물에 불과합니다. 그리고 제공 된 스니펫의 의미로 내가 말하고 싶은 :- „모든 제공 개요 자바8 수집가 개념은이 블로그 게시물 (나는 `baeldungCollectorsArticle`를 말하는) 잘 개요에 대한 축적과 피니셔로 결론과 하나의 게시물에 결합 명확 하 게 하 고 포인트 특성.“ 즉, 나에 따라이 문서는 공급 업체, 축하, 결합기, 피니셔 및 특성이 있습니다.

충돌의 경우 기존 항목을 유지한다는 병합 함수를 소개합니다. 미리 정의된 모든 구현은 Collectors 클래스에서 찾을 수 있습니다. 다음과 같은 정적 가져오기를 사용하여 가독성 향상: 사소한 문제: 예제 목록이 키매퍼: 각 입력 스트림 요소에 대한 맵 키를 생성하는 매핑 기능으로 정의된다는 점을 감안할 때. mergeFunction: 동일한 키와 연결된 값 간의 충돌을 해결하는 이진 연산자입니다.

Dieser Eintrag wurde veröffentlicht in Allgemein. Lesezeichen auf den Permanentlink.