使用stream流对 Map<String,List<Object>> list.size 进行排序
时间: 2023-10-14 16:19:33 浏览: 103
对map里面的value进行排序
首先需要明确一点,Map<String,List<Object>> 中的value是List类型,而List是有大小的,所以不能直接使用size对Map进行排序。您可能想要对Map中value的List的大小进行排序,如果是这样的话,可以使用下面的代码:
```
Map<String, List<Object>> map = new HashMap<>();
// 添加数据到map中
List<Map.Entry<String, List<Object>>> list = new ArrayList<>(map.entrySet());
list.stream()
.sorted(Comparator.comparingInt(e -> e.getValue().size()))
.collect(Collectors.toList());
```
在上面的代码中,我们首先将Map转换为List类型,然后使用stream方法对List进行排序。Comparator.comparingInt方法用于指定排序的规则,这里是根据每个Map.Entry的value的List大小进行排序,然后使用collect方法将排序后的结果转换为List类型。
需要注意的是,这里的排序是升序排序,如果需要降序排序,可以将comparingInt改为comparingInt().reversed()。
阅读全文