List<Map<String, Integer>> list 倒序排序
时间: 2024-09-12 19:14:57 浏览: 47
Java中对list map根据map某个key值进行排序的方法
在Java中,如果你有一个List<Map<String, Integer>>类型的列表,想要按照Map中的值(假设是Integer类型)倒序排序,你可以使用Collections.sort()方法配合自定义的Comparator。首先,你需要创建一个比较器(Comparator),然后将这个比较器传递给sort()。
```java
import java.util.*;
class ValueComparator implements Comparator<Map<String, Integer>> {
@Override
public int compare(Map<String, Integer> map1, Map<String, Integer> map2) {
return map2.values().stream().mapToInt(Integer::intValue).orElse(0)
- map1.values().stream().mapToInt(Integer::intValue).orElse(0);
}
}
public void sortList(List<Map<String, Integer>> list) {
Collections.sort(list, new ValueComparator());
}
```
这会按Map的值降序排列,如果两个Map有相同的最大值,则它们的相对顺序可能会保持不变,因为Collections.sort默认是稳定的。
阅读全文