我有一个 map ,我想要做的是更新 map 指定键的内容。 下面是我的示例代码,我将首先获取并保存到 tempList, 然后更新tempList,然后保存回valueMap;
Map<String, List<Number>> valueMap = new HashMap<String, List<Number>>();
for (Map.Entry<String, Object> entry2 : innerMap.entrySet()) {
for(String str : titleList){
if(str.equals(entry2.getKey())){
List<Number> tempList = valueMap.get(str);
tempList.add((Number) entry2.getValue());
valueMap.put(str, tempList);
}
}
}
我想知道是否有一种简单/漂亮的方法来执行相同的操作。
更新entry2部分的代码(我以为第一次不会造成困惑,是我的错。)
最佳答案
我不知道entry2
是什么,但它可以这样重写:
titleList.stream()
.filter(entry2.getKey()::equals)
.forEach(str -> valueMap
.computeIfAbsent(str, (x) -> new ArrayList<Number>())
.add((Number) entry2.getValue()));
关于java - 更新 map 中列表的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60520178/