使用Java流查找Map中的最大列表大小

ogsagwnx  于 2022-12-21  发布在  Java
关注(0)|答案(1)|浏览(183)

我有一张Map<String, List<Product>>形式的Map。
我想在这个Map中找到具有最大关联List的String。
我已经尝试了很多很多方法。最近:

map.entrySet()
.stream()
.max(Comparator((String entry1, String entry2) -> Integer.compare(q4().get(entry1).size(), q4.get(entry2).size()));

什么都没用。

tp5buhyn

tp5buhyn1#

如果您要查找列表最大的键,可以执行以下操作:

.max(Comparator.comparingInt(entry -> entry.getValue().size())).map(Entry::getKey)

所以你的代码可以是

String result = map.entrySet().stream()
                   .max(Comparator.comparingInt(entry -> entry.getValue().size()))
                   .map(Map.Entry::getKey)
                   .orElse(null); //if map is empty

相关问题