当Hashmap的值相同时,如何基于key对象的属性对HashMap进行排序?

时间:2014-11-13 06:39:43

标签: java hashmap

我有一个HashMap,其中一个类(obj1,obj2,obj3)的对象作为键,而java.util.Date(date1,date2,date3)作为值。 HashMap已经基于值排序,即基于日期对象。 关键对象具有名为name的属性。

obj1.name = "name1", obj2.name = "name2" etc.

现在,当HashMap的值相同时,即当与值具有相同的日期时,我需要检查密钥对象的名称(obj.name)并根据密钥对象的名称属性对HashMap进行排序。请注意,只有当HasHMap与值具有相同的日期时,才需要基于key对象的name属性进行排序。

例如,我有以下HashMap

[obj1=Tue Jul 01 00:00:00 IST 2014,obj2=Thu Jul 03 00:00:00 IST 2014,obj3=Thu Jul 03 00:00:00 IST 2014,obj4=Sun Jul 06 00:00:00 IST 2014]

每个关键对象的name属性为

obj1.name = "B";

obj2.name = "D";

obj3.name = "A";

obj4.name = "C";

然后我最后需要对HashMap进行排序以按顺序[obj1,obj3,obj2,obj4]获取keySet,因为键obj2和obj3具有相同的日期值,因此需要根据键对象的name属性进行排序。

0 个答案:

没有答案