有两个MAP,KEY都相同,只有VALUE不同,要做到将VALUE不同的KEY找出来,怎么写最简单?

有两个MAP,KEY都相同,只有VALUE不同,要做到将VALUE不同的KEY找出来,怎么写最简单?

取出map1的所有key,然后对map2进行遍历,同时判断两个value是否相同,不相同的取出来。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-21
试试
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本回答被提问者和网友采纳
相似回答