我有两个数组,其中一个是,
data[10] = {10,10,30,30,90,60,71,91,90,91};
另一个是
size[10] = {1000,20000,30000,40000,50000,60000,7100,8000,9000,9100};
我想要做的是能够对上面的数据数组进行索引,并从大小数组中挑选出大小。但是,对于数据数组中的重复值,我希望聚合大小,例如,值 10 的大小应为 21000。我尝试使用 boolean duplics;
以及按顺序使用的各种不同循环找出我的问题,但到目前为止我收效甚微。
最佳答案
您可以简单地使用 Map
并用 data
数组中的键和 size
数组中的值填充它。像这样的事情:
int[] data = { 10, 10, 30, 30, 90, 60, 71, 91, 90, 91 };
int[] size = { 1000, 20000, 30000, 40000, 50000, 60000, 7100, 8000, 9000, 9100 };
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < data.length; ++i)
{
map.put(data[i], map.getOrDefault(data[i], 0) + size[i]);
}
System.out.println(map);
这会打印
{71=7100, 10=21000, 90=59000, 91=17100, 60=60000, 30=70000}
关于java - 我需要使用第一个数组值来计算第二个数组中的大小,如果数据中出现重复值,我想要大小值的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50984142/