【发布时间】:2019-02-27 21:17:04
【问题描述】:
假设我有两张地图 region1、region2 并且都被声明为
LinkedHashMap<String, List<String>> region1 = new LinkedHashMap<>();
LinkedHashMap<String, List<String>> region2 = new LinkedHashMap<>();
region1 包含以下值:
region1 : {R1 = [A, B, C, D]}
region2 包含以下值:
region2 : {R2 = [G, A, D, B]}
将region1的值作为基值,遍历region2的值,不重复的值必须放在另一个map中,key为region2,不重复的值为region2。
所以地图 region3 包含
region3 : {R2 = [G]}
我们在另一个地图上迭代 region3 以比较匹配的值
map1 : {1 = [G, C]}
由于值中有匹配,我们需要在匹配的值中添加一个空格。
所以 map1 包含值
map1 : {1=[ , C]}
【问题讨论】:
-
map3 = new LinkedHashMap<>(region2); map3.removeAll(region1.keySet());?使用上面的值,您将在map3中得到G。 -
Considering the values of region1 as base values- 您是指 R1 键还是与 R1 关联的列表中的值?我认为显示您期望输出的样子会很有帮助。 -
@Jason 列表中与 R1 关联的值。
-
我不明白,地图有不同的键。我们是否必须迭代所有可能的条目?
-
@LppEdd 是的,我们需要迭代所有可能的条目
标签: java list hashmap linkedhashmap