乐趣区

关于java:java-求map中交集

明天在业务上遇到一个问题, 有新旧两个 map, 须要失去两个 map 的交加, 并在其中旧的 map 中删除交加, 新的 map 去库中新增.

新增间接 update,map 删除交加, 间接遍历 remove 也能够,
那么怎么失去两个 map 的交加呢?

首先咱们要理解 map 的一个函数 –keySet():
其作用是: 将 map 映射中所有的键 (key) 放到 set 汇合中 –>
Set<String> set = map.keySet();

通过这个函数咱们就能够失去两个 map 的所有 key, 接下来遍历进行比拟, 若有雷同的进行 remove 即可, 如果你感觉遍历比拟很 low, 还能够通过 set1.retainAll(set2) 办法来进行取交加, 在遍历取交加后的 set1,remove(key)即可.

代码如下:

Set<String> oldKeys = map1.keySet();
Set<String> newKeys = map2.keySet();

oldKeys.retainAll(newKeys);

for(String key : oldKeys){map1.remove(key);
}
退出移动版