我想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