Collectors.toMap()の重複キー3つ以上のマージ処理について
public static void main(String[] args) {
Stream<String> stream1 = Stream.of("nao","akko","ami");
Map<Integer, String> map1 =stream1.collect(Collectors.toMap(String::length, s -> s,(s1,s2) -> s1 + ":" + s2));
System.out.println(map1);
System.out.println(map1.getClass());
Stream<String> stream2 = Stream.of("nao","akko","ami","aaa");
Map<Integer, String> map2 = stream2.collect(Collectors.toMap(String::length, s -> s, (s1,s2) -> s1 + " : " + s2, TreeMap::new));
System.out.println(map2);
System.out.println(map2.getClass()); }
collect()メソッドについて
<TreeMap<Integer, String>, Object> TreeMap<Integer, String> java.util.stream.Stream.collect(Collector<? super String, Object, TreeMap<Integer, String>> collector)
toMap()メソッドについて