List<Map>根据List中的每一个Map的某个key排序
时间: 2024-02-19 12:03:27 浏览: 108
您可以使用`Collections.sort`方法和自定义比较器来实现List中的Map按照指定key排序。具体步骤如下:
1. 定义一个实现`Comparator<Map>`接口的比较器类,比较器类中重写`compare`方法,实现按照指定key排序的逻辑。
```java
class MapComparator implements Comparator<Map> {
private String key;
public MapComparator(String key) {
this.key = key;
}
@Override
public int compare(Map o1, Map o2) {
Comparable v1 = (Comparable) o1.get(key);
Comparable v2 = (Comparable) o2.get(key);
return v1.compareTo(v2);
}
}
```
2. 调用`Collections.sort`方法,传入List和比较器对象,实现List中的Map按照指定key排序。
```java
List<Map> list = new ArrayList<>();
// 添加多个Map对象
Collections.sort(list, new MapComparator("key"));
```
以上代码演示了如何按照Map中的key值进行排序,您可以根据实际需求修改比较器类中的排序逻辑。
阅读全文