如何使用Guava的ListMultimap对键列表中的元素求和

问题描述 投票:1回答:1

示例:

我想sum每个键中的元素,基本上是元素“双数”的ArrayList。Guava ArrayListMultimap以此方式声明:

ListMultimap <String, Double> multimap = LinkedListMultimap.create(); 

并显示为“ ArrayList的3个键”:

HH_0=[0.1, 0.4, 0.2, 0.3, 0.1], 
HH_1=[0.1,0.2], 
HH_2=[0.1] 

求和应存储在数组或任何类似此输出的简单结构中:

array_sum=[1.1,0.3,0,1]

multimap的实际大小是8而不是3,因为如果任何键在其数组列表中具有多个值,则意味着该键是重复的,这就是使用multimap [[Guava的,它可以将具有多个(不同或相同)值的重复键存储在ArrayList中,而对于简单的[[Hashmap。

则相反我的文章:我提取了

Strings

array_Str
中的键进行比较。我们假设所需的array_sum []的长度已经由3::>初始化。double sum = 0.0; String array_Str = {"HH_0","HH_1","HH_2"}; for (int i = 0; i < array_sum.length; i++) { for (Entry<String, Double> entry : multimap.entries()) { if( entry.getKey().equals(array_sum[i])) { sum=sum+ entry.getValue(); } } array_sum[i]=sum; } 非常感谢任何指导。
示例:我想对每个键中的元素求和,这基本上是元素“双数”的ArrayList。GuavaArrayListMultimap是以这种方式声明的:ListMultimap 

java arrays guava multimap
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.