我有一个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属性进行排序。