gpt4 book ai didi

java - 如何在java中获取映射中对(键)值的总和?

转载 作者:行者123 更新时间:2023-11-30 06:11:47 24 4
gpt4 key购买 nike

我有一个映射,它表示映射到值的 string-int 矩阵:
static Map<Pair<String,Integer>, Integer> wordTopic = new HashMap<>();

我想获得具有特定字符串(该对的一部分)而不是整个对 Pair<String,Integer> 的值的总和又名一行的总和。

示例:矩阵

string/int 1 2
value1 13 26
value2 11 22

我想要字符串“value1”的行值的总和..输出应为=39

我发现了这个:Integer integerSum = wordTopic.values().stream().mapToInt(Integer::intValue).sum();
但这将使我得到整个键的值的总和,即整个矩阵,我只想要行的总和..有任何提示吗?

最佳答案

我认为是这样的:

输入:

a-1 = 100
a-2 = 200
b-4 = 400
b-8 = 800

输出:

a = 300
b = 1200

使用map.entries()可能有助于更轻松地处理行。

您似乎想首先按字符串进行分组,因此检查 Map.Entry.getKey().getValue0() 的 .group() lambda 会生成 <String, List<Map.Entry>> 的映射

对于其中的每一个,您都需要执行所需的 .map 和 .sum 等操作(留作家庭作业...)

您可能会说,带有另一个 HashMap 的旧 for 循环将更具可读性......

关于java - 如何在java中获取映射中对(键)值的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50077858/

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