java List<Map<String,Object>>集合排序,根据Map类型的key,对集合进行排序
时间: 2024-02-03 20:09:17 浏览: 106
java map 集合 排序
5星 · 资源好评率100%
可以使用Comparator接口来对List<Map<String, Object>>集合进行排序,根据Map类型的key对集合进行排序。下面是一个示例代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
List<Map<String, Object>> list = new ArrayList<>();
// 添加Map元素到List
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "John");
map1.put("age", 25);
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "Alice");
map2.put("age", 30);
list.add(map2);
Map<String, Object> map3 = new HashMap<>();
map3.put("name", "Bob");
map3.put("age", 20);
list.add(map3);
// 根据Map的key进行排序
Collections.sort(list, new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> map1, Map<String, Object> map2) {
String key = "name"; // 指定排序的key
String value1 = (String) map1.get(key);
String value2 = (String) map2.get(key);
return value1.compareTo(value2);
}
});
// 输出排序后的结果
for (Map<String, Object> map : list) {
System.out.println(map);
}
}
}
```
这段代码首先创建了一个List<Map<String, Object>>集合,并向其中添加了三个Map元素。然后使用Collections.sort()方法对集合进行排序,传入一个Comparator对象来指定排序规则。在Comparator的compare()方法中,我们指定了要根据Map的"name"键进行排序。最后,通过遍历集合输出排序后的结果。
阅读全文