作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我们如何对 HashMap<key, ArrayList>
进行排序?
我想根据 ArrayList
中的值进行排序.
最佳答案
你必须使用 HashMap 吗?如果您只需要 map 界面,请使用 TreeMap
如果要通过比较 HashMap 中的值进行排序。您必须编写代码来执行此操作,如果您想在对 HashMap 的值进行排序后执行此操作:
Map<String, Person> people = new HashMap<>();
Person jim = new Person("Jim", 25);
Person scott = new Person("Scott", 28);
Person anna = new Person("Anna", 23);
people.put(jim.getName(), jim);
people.put(scott.getName(), scott);
people.put(anna.getName(), anna);
// not yet sorted
List<Person> peopleByAge = new ArrayList<>(people.values());
Collections.sort(peopleByAge, Comparator.comparing(Person::getAge));
for (Person p : peopleByAge) {
System.out.println(p.getName() + "\t" + p.getAge());
}
如果您想经常访问这个排序列表,那么您可以将您的元素插入到 HashMap<TreeSet<Person>>
,虽然集合和列表的语义有些不同。
关于java - 如何在 Java 中对 HashMap 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/780541/
我是一名优秀的程序员,十分优秀!