使用stream流对List<Map<String,Object>>进行排序
时间: 2023-10-14 11:16:26 浏览: 87
Java lambda Stream List过滤筛选、排序、分组(Java进阶).md
可以使用Java 8的流式API和Comparator来对List<Map<String, Object>>进行排序。以下是示例代码:
```java
List<Map<String, Object>> list = new ArrayList<>();
// 添加Map数据
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "张三");
map1.put("age", 20);
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "李四");
map2.put("age", 18);
list.add(map2);
Map<String, Object> map3 = new HashMap<>();
map3.put("name", "王五");
map3.put("age", 22);
list.add(map3);
// 按照年龄从小到大排序
List<Map<String, Object>> sortedList = list.stream()
.sorted(Comparator.comparingInt(map -> (int) map.get("age")))
.collect(Collectors.toList());
```
在代码中,我们首先创建了一个List<Map<String, Object>>,其中包含了三个Map对象。然后,我们使用stream()方法将List转换为Stream,接着使用sorted()方法和Comparator.comparingInt()方法按照年龄从小到大排序。最后,我们使用collect()方法将Stream转换为List并将结果保存在sortedList中。
阅读全文