import com.google.common.collect.MapDifference; import com.google.common.collect.Maps;
public static void main(String[] args) {
Map<String, String> map1 = new HashMap<>();
map1.put("key1", "value1");
map1.put("key2", "value2");
map1.put("key3", "value3");
map1.put("key5", "value5");
Map<String, String> map2 = new HashMap<>();
map2.put("key2", "value2");
map2.put("key3", "value3");
map2.put("key4", "value4");
map2.put("key6", "value6");
MapDifference<String, String> difference = Maps.difference(map1, map2);
Map<String, String> entriesOnlyOnLeft = difference.entriesOnlyOnLeft();
for (Map.Entry<String, String> entry : entriesOnlyOnLeft.entrySet()) {
System.out.println("map1多出的键值对:" + entry.getKey() + "=" + entry.getValue());
}
Map<String, String> entriesInCommon = difference.entriesInCommon();
for (Map.Entry<String, String> entry : entriesInCommon.entrySet()) {
System.out.println("公用的键值对:" + entry.getKey() + "=" + entry.getValue());
}
Map<String, String> entriesOnlyOnRight = difference.entriesOnlyOnRight();
for (Map.Entry<String, String> entry : entriesOnlyOnRight.entrySet()) {
System.out.println("map2多出的键值对:" + entry.getKey() + "=" + entry.getValue());
}
}