具有相同键的Collectors.toMap(打印相同键)
我有以下代码来获取地图:
List<MyObject> myList = myMethod.getList();myList.stream().collect(
Collectors.toMap(
MyObject::getKey,
MyObject::getValue,
(e1, e2) -> {
System.out.println("Duplicate keys !!!");
return e1;
},
LinkedHashMap::new
)
);
如何打印带有重复键的消息“重复键”?
回答:
如何打印带有重复键的消息“重复键”?
使用当前代码,您将收到消息“重复键”,MyObject
其中包含至少2个实例的列表,这些实例MyObject
具有与对象相同的值getKey()
,例如Arrays.asList(new
MyObject("foo", "bar"), new MyObject("foo", "bar2"))。
如何获得对应的密钥?
到目前为止,还无法获得相应的键,当前从合并功能中获得的实际上是与相同键映射的2个值,这些值需要合并以仅保留对应键的一个值。
您的问题是 中已解决的已知问题,有关更多详细信息,请参见
,相应的修复将使我们能够从合并函数中获取要合并的键和值。
另请参见为什么Collectors.toMap会报告值,而不是在重复键错误时报告键?
以上是 具有相同键的Collectors.toMap(打印相同键) 的全部内容, 来源链接: utcz.com/qa/419991.html