【发布时间】:2012-05-30 09:07:49
【问题描述】:
我有两个哈希映射,如下所示:
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
键不同,但值相同,有时值不同。
与workingdaymap比较时,我想找出employeemap中不存在的值
if (!employeeMap.containsValue(workingdayMap.get(wKey))) {
//take the value which is not present in employeeMap which is present in workingdayMap
}
但它给了我来自employeeMap的null。
你能帮我解决这个问题吗?
问候 托尼
【问题讨论】:
-
查看
values()函数HashMap。 -
您能否提供更多可以为您提供
null的代码?wKey来自哪里?您使用的是哪种日期类型,它的equals()方法是否符合您的预期? -
迭代器
workingDayIterator = workingdayMap.keySet().iterator(); while(workingDayIterator.hasNext()){ String wKey= workingDayIterator.next(); if(!employeeMap.containsValue(workingdayMap.get(wKey))){ // 获取值 } } -
好的,该代码看起来不错。 “它给你null”是什么意思?有例外吗?我们可以得到堆栈跟踪吗?