List<Map<String, Object>> stram流 用两个字段排序
时间: 2023-05-11 14:06:13 浏览: 341
可以使用Java 8的Stream API来对List<Map<String, Object>>进行排序,具体的代码如下:
List<Map<String, Object>> list = new ArrayList<>();
// 添加数据到list中
list.add(new HashMap<String, Object>() {{
put("name", "张三");
put("age", 20);
}});
list.add(new HashMap<String, Object>() {{
put("name", "李四");
put("age", 25);
}});
list.add(new HashMap<String, Object>() {{
put("name", "王五");
put("age", 22);
}});
// 使用Stream API对list进行排序
List<Map<String, Object>> sortedList = list.stream()
.sorted(Comparator.comparingInt(o -> (int) o.get("age")).thenComparing(o -> (String) o.get("name")))
.collect(Collectors.toList());
// 输出排序后的结果
System.out.println(sortedList);
这段代码会按照年龄升序排序,如果年龄相同则按照姓名升序排序。
阅读全文