具有相同键的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

回到顶部