![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
有两个MAP,KEY都相同,只有VALUE不同,要做到将VALUE不同的KEY找出来,怎么写最简单?
有两个MAP,KEY都相同,只有VALUE不同,要做到将VALUE不同的KEY找出来,怎么写最简单?...
有两个MAP,KEY都相同,只有VALUE不同,要做到将VALUE不同的KEY找出来,怎么写最简单?
展开
2个回答
展开全部
取出map1的所有key,然后对map2进行遍历,同时判断两个value是否相同,不相同的取出来。
展开全部
试试
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class $ {
public static void main(String[] args) {
Map<String, Integer> map0 = new HashMap<String, Integer>();
Map<String, Integer> map1 = new HashMap<String, Integer>();
map0.put("a", 1);
map0.put("b", 2);
map0.put("c", 3);
map1.put("a", 11);
map1.put("b", 12);
map1.put("c", 13);
map1.put("d", 14);
Set<String> set = map0.keySet();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String key = it.next();
Integer val0 = map0.get(key);
Integer val1 = map1.get(key);
if (val0 != val1) {
System.out.println(key);
}
}
}
}
结果:
b
c
a
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class $ {
public static void main(String[] args) {
Map<String, Integer> map0 = new HashMap<String, Integer>();
Map<String, Integer> map1 = new HashMap<String, Integer>();
map0.put("a", 1);
map0.put("b", 2);
map0.put("c", 3);
map1.put("a", 11);
map1.put("b", 12);
map1.put("c", 13);
map1.put("d", 14);
Set<String> set = map0.keySet();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String key = it.next();
Integer val0 = map0.get(key);
Integer val1 = map1.get(key);
if (val0 != val1) {
System.out.println(key);
}
}
}
}
结果:
b
c
a
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询