Map<String,Map<String, List<String>>> 根据value中list的size排序
时间: 2023-10-14 22:17:59 浏览: 106
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
你可以使用Java 8 Stream API中的sorted方法和Comparator来根据value中list的size排序。以下是示例代码:
```
Map<String, Map<String, List<String>>> map = new HashMap<>();
// 假设map中已经有数据
// 根据value中list的size排序
Map<String, Map<String, List<String>>> sortedMap = map.entrySet()
.stream()
.sorted(Comparator.comparing(entry -> entry.getValue().values().stream().mapToInt(List::size).sum()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue, LinkedHashMap::new));
```
这将返回一个新的已排序的LinkedHashMap,其中每个entry的value中的list按照它们的size进行排序。
阅读全文