java - 对以 map 作为输入的列表进行排序

标签 java list sorting

我有一个列表,其中的元素是 map ,我想根据 map 元素值对该列表进行排序

[{id=45964953, count=1}, {id=46009636, count=1}, {id=45936991, count=1},  {id=45984035, count=2}, {id=45951961, count=1}, {id=45399668, count=31}]

我需要根据计数值对其进行排序。 java可以实现吗

输出应该是这样的

[ {id=45399668, count=31},{id=45984035, count=2}, {id=45964953, count=1}, {id=46009636, count=1}, {id=45936991, count=1}, {id=45951961, count=1}]

最佳答案

您可以创建一个实现 Comparable<Map<String,Integer>> 的类(假设 StringInteger 以及您的映射的键和值)并根据您的标准比较两个映射。

然后您可以将列表和比较器传递给 Collections.sort()。

关于java - 对以 map 作为输入的列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28165035/

相关文章:

java - 在工厂类中使用字段/变量,以便在通过工厂创建的对象之间使用

java - 如何比较两条曲线(点数组)

python - 引用元组列表中的元素

java - 更改数组值java

python - 重新错误: unterminated character set at position while reading stirng

java - 如何按字母顺序对数组排序,标点符号优先

java - 从 Tomcat servlet 到 MSSQL Server Express 2012 的查询问题

java - 如何以编程方式使 TextView 与 ImageView 中心对齐?

sorting - 有没有办法在排序时提供多个键来打破平局?

c++ - 对数组或 vector 进行排序和聚类