java – 在属性上对HashMap对象进行排序,而不是值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 在属性上对HashMap对象进行排序,而不是值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含961字,纯文字阅读大概需要2分钟。
内容图文
![java – 在属性上对HashMap对象进行排序,而不是值](/upload/InfoBanner/zyjiaocheng/799/8403f84e9fed4ad09a20c0177ce6d027.jpg)
这不是我刚才模拟的真实代码,以便了解下一步该做什么.
我有班级人物,年龄,身高体重.
现在在我的班组
我创建了两个四个对象
Person programmer, student, clerk, tech;
我有HashMap rollCall
Map<Person, Integer> rollCall = new HashMap<Person, Integer>();
使用Person和Person的数量添加所有这些作为Integer类型
rollCall.put(programmer, 1);
rollCall.put(clerk, 2);
rollCall.put(student, 1);
rollCall.put(tech, 3);
我见过很多人使用TreeMap对HashMap进行排序,我希望对Person的属性进行排序而不是值.我想按照他们的年龄对所有这些人进行排序(即programmer.getAge();).我不确定我是否会使用仅适用于收集而非地图的comprator.
.
请帮忙 …
.
解决方法:
你可以得到一个Map< Person,Integer>通过使用自定义比较器按年龄增加或减少顺序迭代:
Map<Person, Integer> rollCall = new TreeMap<Person, Integer>(
new Comparator<Person>() {
@Override public int compare(Person p1, Person p2) {
return p1.getAge() - p2.getAge(); // Acending.
// or p2.getAge() - p1.getAge(); // Descending.
}
}
);
将Persons添加到集合时,它们将按年龄顺序插入.
内容总结
以上是互联网集市为您收集整理的java – 在属性上对HashMap对象进行排序,而不是值全部内容,希望文章能够帮你解决java – 在属性上对HashMap对象进行排序,而不是值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。