关于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);
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理