【发布时间】:2011-09-09 17:19:21
【问题描述】:
这不是我刚刚模拟的真实代码,以便了解下一步该做什么。
我有具有年龄、身高体重属性的人。
现在在我的班组
我创建了两个四个对象
Person programmer, student, clerk, tech;
我有 HashMap rollCall
Map<Person, Integer> rollCall = new HashMap<Person, Integer>();
使用 Person 和 Number of Persons 作为 Integer 类型添加所有这些
rollCall.put(programmer, 1);
rollCall.put(clerk, 2);
rollCall.put(student, 1);
rollCall.put(tech, 3);
我看到很多人使用 TreeMap 根据值对 HashMap 进行排序,我想根据 Person 的属性而不是值进行排序。我想按年龄对所有这些人进行排序(即programmer.getAge();)。我不确定我是否会使用仅适用于集合而不适用于地图的比较器。 . 请帮忙 ... .
【问题讨论】:
-
恐怕没有简单的方法。查看上面 Overbose 的链接。(我认为下面的一些答案假设您想对键进行排序(
Person)。) -
是的,我想对键而不是值进行排序
-
如何为 Map
排序。我有一个类似的问题,但我需要对值进行排序。