嗨我有两张不同的地图,它们的值如下所示
地图,
1.=============Employee=================
Key : 1_10 : Value : 13/04/2012
Key : 1_11 : Value : 18/04/2012
Key : 1_12 : Value : 19/04/2012
Key : 1_14 : Value : 23/04/2012
Key : 1_13 : Value : 20/04/2012
Key : 1_16 : Value : 25/04/2012
Key : 1_1 : Value : 02/04/2012
Key : 1_15 : Value : 24/04/2012
Key : 1_18 : Value : 27/04/2012
Key : 1_3 : Value : 04/04/2012
Key : 1_17 : Value : 26/04/2012
Key : 1_2 : Value : 03/04/2012
Key : 1_5 : Value : 06/04/2012
Key : 1_19 : Value : 30/04/2012
Key : 1_4 : Value : 05/04/2012
Key : 1_7 : Value : 10/04/2012
Key : 1_6 : Value : 09/04/2012
Key : 1_9 : Value : 12/04/2012
Key : 1_8 : Value : 11/04/2012
2.=============Working day=================
Key : 27 : Value : 27/4/2012
Key : 02 : Value : 02/4/2012
Key : 26 : Value : 26/4/2012
Key : 19 : Value : 19/4/2012
Key : 11 : Value : 11/4/2012
Key : 04 : Value : 04/4/2012
Key : 30 : Value : 30/4/2012
Key : 06 : Value : 06/4/2012
Key : 13 : Value : 13/4/2012
Key : 09 : Value : 09/4/2012
Key : 03 : Value : 03/4/2012
Key : 23 : Value : 23/4/2012
Key : 20 : Value : 20/4/2012
Key : 16 : Value : 16/4/2012
Key : 10 : Value : 10/4/2012
Key : 18 : Value : 18/4/2012
Key : 25 : Value : 25/4/2012
Key : 17 : Value : 17/4/2012
Key : 12 : Value : 12/4/2012
Key : 24 : Value : 24/4/2012
Key : 05 : Value : 05/4/2012
我只想比较这两个哈希映射,并给出地图中不存在的值,而不是另一个。
答案 0 :(得分:1)
假设map1是第一张地图的hashmap,map2是第二张地图的hashmap。然后,
Collection<String> c1 = map1.values();
c1.removeAll(map2.values()); // this one removes all the values from c1 which are also in map2.
Iterator<String> it = c1.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
因此你得到map1包含哪个map2不包含的值。