public static <T, K, U> Collector<T, ? ,ImmutableMap<K,U>> toMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper, BinaryOperator<U> mergeFunction) { return Collector.of( // Supplier Maps::<K,U>newHashMap, // Accumulator (m, e) -> m.merge(keyMapper.apply(e), valueMapper.apply(e), mergeFunction), // Merger mapMerger(mergeFunction), // Finisher ImmutableMap::copyOf, Collector.Characteristics.UNORDERED); }
public static <T, K, U> Collector<T, ? ,ImmutableMap<K,U>> toMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper, BinaryOperator<U> mergeFunction) { return Collector.of( // Supplier Maps::<K,U>newHashMap, // Accumulator (m, e) -> m.merge(keyMapper.apply(e), valueMapper.apply(e), mergeFunction), // Merger mapMerger(mergeFunction), // Finisher ImmutableMap::copyOf, Collector.Characteristics.UNORDERED); }