gpt4 book ai didi

java - 使用 Java 8 从对象值映射中获取最大值键

转载 作者:行者123 更新时间:2023-12-02 02:03:11 28 4
gpt4 key购买 nike

我有一个下面的 map ,其中整数作为键,实体对象作为值,如下

Map<Integer, Entity> skuMap;

Entity.java:

private StatisticsEntity statistics;

StatisticsEntity.java:

private Integer count;

我想从skuMap中获取StatisticsEntity最大计数所在的键。

我用下面的 Java8 代码片段得到了结果

Integer sku = skuMap.entrySet().stream().max((s1, s2) -> Integer.compare(s1.getValue().getStatistics().getCount(), s2.getValue().getStatistics().getCount())).orElse(null).getKey();

但我想用 Comparator.comparingInt 重构上面的内容,任何帮助将不胜感激。

最佳答案

Optional<Integer> sku = skuMap.entrySet().stream()
.max(
Comparator.comparingInt(
entry -> entry.getValue().getStatistics().getCount()
)
)
.map(Map.Entry::getKey);

关于java - 使用 Java 8 从对象值映射中获取最大值键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57366792/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com