List<Map<String, Object>>通过流,排序某个key
时间: 2024-09-17 19:05:38 浏览: 43
当你有一个`List<Map<String, Object>>`的列表,并想要按照其中某个键(Key)进行排序,你可以使用Java 8引入的Stream API来实现。首先,你需要获取到所有Map的values集合,然后创建一个新的流,对每个Map按照指定的键进行排序,最后将排序后的结果转换回List。这里是一个基本的例子:
```java
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
// 假设mapsList是你的List<Map<String, Object>>
List<Map<String, Object>> mapsList = ...;
// 定义你要排序的键
String sortKey = "yourSortKey";
// 使用Comparator按照sortKey的值进行自然顺序排序
Comparator<Map<String, Object>> comparator = (map1, map2) ->
((Comparable<? super Object>) map1.get(sortKey)).compareTo(map2.get(sortKey));
// 对list进行排序
List<Map<String, Object>> sortedMaps = mapsList.stream()
.sorted(comparator)
.collect(Collectors.toList());
阅读全文