gpt4 book ai didi

java - 如何找到 HashMap 中某些条目的最高值而不是整个 HashMap?

转载 作者:太空宇宙 更新时间:2023-11-04 09:02:05 25 4
gpt4 key购买 nike

我有一个类型为(String,Double)的HashMap(称为QTable),我想创建一个方法,给定某个String键将返回HashMap中2-4个其他条目的最大Double值。

例如,这些条目类似于 <"Q04", 0.0>。

在给定键“Q04”的情况下,我希望该方法返回具有键“Q40”、“Q43”和“Q45”的条目的最大 Double 值,我认为它将类似于:

if (if x == QTable.get("Q04")) {
return QTable.get.maxValue("Q40", "Q43", "Q45") }

非必要的背景信息:我正在尝试编写贝尔曼方程来填写 Q 表,此步骤将用于查找到达新状态时潜在移动的最大 Q 值。

最佳答案

        final Map<String, Double> hashMap = new HashMap<>();
hashMap.put("Q40", 1.0);
hashMap.put("Q41", 3.0);
hashMap.put("Q49", 2.0);
hashMap.put("Q50", 20.0);

Stream.of("Q40", "Q41", "Q49")
.map(hashMap::get)
.max(Comparator.comparing(Double::valueOf))
.ifPresent(d -> System.out.println("The highest value is: " + d));

更新为稍微精简的版本。在这里,我创建了一个键流,我想从中提取最高值。我从 hashMap 变量中检索 Double 值,然后使用 max() 运算符,返回一个 Optional 结果。

关于java - 如何找到 HashMap 中某些条目的最高值而不是整个 HashMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60695430/

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