.stream().collect(Collectors.toMap(A::getKey, B::getKey)
>> .stream().collect(Collectors.toMap(A::getKey, B::getKey, (k1,k2) -> k1)
java8 stream collect toMap 사용 중 duplicate key 발생 시
Map 반환에 키 중복이 있을때 발생하는데, 오버로딩된 toMap 메소드 중 merge 기능이 있는걸 사용하면 된다.
<실행되는 Collectors.class >
public static <T, K, U>
Collector<T, ?, Map<K,U>> toMap(Function<? super T, ? extends K> keyMapper,
Function<? super T, ? extends U> valueMapper,
BinaryOperator<U> mergeFunction) {
return toMap(keyMapper, valueMapper, mergeFunction, HashMap::new);
}
'java' 카테고리의 다른 글
JUnit test Mock 객체 지연 셋팅 (0) | 2024.06.28 |
---|---|
kafka producer 생성예제 (0) | 2023.10.19 |
spring-batch 에서 kafka 사용할때 ConcurrentModificationException 발생시 (0) | 2021.11.25 |
springboot- hadoop hive 설정 (0) | 2021.11.12 |
gson 필드에 어노테이션으로 필드 지정 (0) | 2021.09.13 |