67,513
社区成员
发帖
与我相关
我的任务
分享
if (map2.get(e.getKey())==null && e.getValue()==null) {
} else if (map2.get(e.getKey()) == null || e.getValue() == null ||
!map2.get(e.getKey()).equals(e.getValue())) {
System.out.println("修改了key:" + e.getKey());
}
//假设map1是旧,map2是新,假设Map的泛型是Map<XX,YY>
int flag = 0;
for (XX xx : map1.keySet().removeAll(map1.keySet())) {
System.out.println("新增了key:" + xx);
flag = 1;
}
for (XX xx : map1.keySet().removeAll(map2.keySet())) {
System.out.println("删除了key:" + xx);
flag = 2;
}
if (flag == 0) {
System.out.println("key没有变动");
}
for(Map.EntrySet<XX,YY> e : map1.entrySet()) {
if (map2.containsKey(e.getKey())) {
if (!map2.get(e.getKey()).equals(e.getValue())) {
System.out.println("修改了key:" + e.getKey());
}
} else {
System.out.println("删除了key:" + e.getKey());
}
}
for (XX xx : map2.keySet().removeAll(map1.keySet())) {
System.out.println("新增了key:" + e.getKey());
}
Map<String, String> mapA = new HashMap<String, String>();
Map<String, String> mapB = new HashMap<String, String>();
Map<String, String> mapAdd = new HashMap<String, String>(mapB);
Map<String, String> mapDel = new HashMap<String, String>();
Map<String, String> mapChange = new HashMap<String, String>();
Map<String, String> mapUnChange = new HashMap<String, String>();
Iterator<String> it = mapA.keySet().iterator();
while(it.hasNext()) {
String key = it.next();
String val = mapA.get(key);
if(mapB.containsKey(key)) {
String bVal = mapB.get(key);
if(val != null && val.equals(bVal) || val == bVal) {
mapUnChange.put(key, val);
}
else {
mapChange.put(key, val);
}
mapAdd.remove(key);
}
else {
mapDel.put(key, val);
}
}
}