【发布时间】:2014-12-31 10:38:54
【问题描述】:
我想构建一个 Date 对象的 HashMap,所以每当我有两个具有相同 Date 值(日、月、年、..)的不同 Date 对象时,Hashmap 不会用新值替换过去的值。
例子:
Date x = new Date();
Date y = new Date();
HashMap<Date,Integer> hm = new HashMap<Date,Integer>();
hm.put(x,1);
hm.put(y,3);
System.out.println(hm.get(x));
System.out.println(hm.get(y));
在此示例中,它们都打印 3。我想确保它们打印 1 然后 3。
我考虑过将 Hashmap 中的键值作为每个日期的对象引用(因为它们会有所不同),那么我该如何强制对象这样做呢?
或者有更好的方法吗?
【问题讨论】:
-
请阅读您的问题并尝试重新编写。我无法理解你想要什么
-
您的
HashMap有什么价值?您如何将它们视为两个独特的对象? -
您在寻找允许重复键的地图吗?
-
HashMap<Date, X>不能按预期工作吗? Date.hashCode 和 equals 应该明确定义。你可以转储地图的entrySet()。 -
两个 Date 对象将生成相同的日期,x 和 y 将相同。
标签: java date dictionary collections