使用stream流对 Map<String,List<SafetyQuestionVo>> list.size 进行倒叙排序
时间: 2023-11-11 11:18:43 浏览: 97
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
可以使用以下代码对 `Map<String,List<SafetyQuestionVo>>` 的 `list.size()` 进行倒序排序:
```java
Map<String,List<SafetyQuestionVo>> map = ...; // 假设这是需要排序的 Map 对象
List<Map.Entry<String,List<SafetyQuestionVo>>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, (o1, o2) -> o2.getValue().size() - o1.getValue().size());
list.stream().forEach(entry -> {
System.out.println(entry.getKey() + " : " + entry.getValue().size());
});
```
这里使用了 `Collections.sort()` 方法和一个自定义的比较器(Comparator),将 Map 的 entrySet 转换成了一个 List,并按照 value 的 size 进行倒序排序。最后使用 stream 流对排序后的结果进行遍历输出。
阅读全文