Stream将list<map>转成list<Map<String,Object>>并排序
时间: 2023-09-09 17:08:13 浏览: 118
JDK8通过Stream 对List,Map操作和互转的实现
5星 · 资源好评率100%
可以按照以下步骤将list<map>转成list<Map<String,Object>>并排序:
1. 遍历list<map>,将每个map转成Map<String,Object>类型,并添加到新的List中。可以使用Java8的Stream API来实现,代码如下:
```
List<Map<String, Object>> newList = oldList.stream()
.map(map -> new HashMap<String, Object>(map))
.collect(Collectors.toList());
```
2. 使用Collections.sort()方法对新的List进行排序。可以自定义Comparator来指定排序规则,比如按照某个键值的大小进行排序。代码如下:
```
Collections.sort(newList, new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
// 比较规则,比如按照键值为"age"的大小进行排序
return Integer.compare((int) o1.get("age"), (int) o2.get("age"));
}
});
```
注意,这里我假设每个map中都包含一个名为"age"的整型键值,你需要根据实际情况来修改比较规则。
阅读全文