gpt4 book ai didi

java - 如何合并两个具有相同键的嵌套映射并保留值

转载 作者:搜寻专家 更新时间:2023-11-01 03:15:30 25 4
gpt4 key购买 nike

我有以下 map :

Map<String,Map<String,Long>> mapOne;
Map<String,Map<String,Long>> mapTwo;

这些映射中的值类似于:

{
BMW = {
SIZE=1,
SPEED=60
},
AUDI = {
SIZE=5,
SPEED=21
},
SEAT= {
SPEED=15
}
}

第二张 map :

 {
Suzuki = {
WHEELS_SIZE=2,
DOORS=3
},
AUDI = {
WHEELS_SIZE=5,
DOORS=5
},
SEAT= {
DOORS=4
}
}

我希望合并后的 map 是:

{
BMW = {
SIZE=1,
SPEED=60
},
AUDI = {
SIZE=5,
SPEED=21,
WHEELS_SIZE=5,
DOORS=5
},
SEAT= {
SPEED=15,
DOORS=4
},
Suzuki = {
WHEELS_SIZE=2,
DOORS=3
},
}

所以我想做合并,合并重复键的值。我相信它应该是这样的:

mapTwo.forEach((k, v) -> mapOne.merge(k, v, ..... ));

最佳答案

你可以这样写:

mapTwo.forEach((k, v) -> mapOne.merge(k, v, (v1,v2) -> {
v1.putAll(v2);
return v1;
}));

这将修改 mapOne 以包含 mapTwo 的条目,同时合并公共(public)键的内部 Map

关于java - 如何合并两个具有相同键的嵌套映射并保留值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55626831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com