[英]How to dynamically loop through an arraylist and add each nth element
我已经获得了一个数据点列表,这些数据点已添加到 arraylist 的 arraylist 中。 我现在面临的挑战是,在这种情况下,我必须通过 dim 添加每个第 n 个元素 4 -1 =3 个元素。 因此我需要添加元素 0 + 3、1 + 4 和 2 + 5。
这是arraylife的arraylist的视图
[[-0.2499999999998725, 0.09887005649714048, 0.12499999999997119, 0.2499999999998725, 0.34887005649701297, 0.3749999999998437, -0.09887005649714048, -0.34887005649701297, 0.02612994350283071, -0.12499999999997119, -0.3749999999998437, -0.02612994350283071],
[0.027777777777828083, -0.2504708097928492, -0.2638888888887171, -0.027777777777828083, -0.2782485875706773, -0.29166666666654517, 0.2504708097928492, 0.2782485875706773, -0.013418079095867896, 0.2638888888887171, 0.29166666666654517, 0.013418079095867896],
[-0.40277777777757906, 0.15442561205268038, 0.1805555555555111, 0.40277777777757906, 0.5572033898302594, 0.5833333333330901, -0.15442561205268038, -0.5572033898302594, 0.02612994350283071, -0.1805555555555111, -0.5833333333330901, -0.02612994350283071]]
for(int i = 0; i < ai.size(); i++) {
for(int k = 0; k < ai.get(i).size(); k++) {
System.out.println(k +" " + ai.get(i).get(k));
}
System.out.println("BREAK");
}
在这里你可以看到我添加了每三个元素。 所以它的 0 + 3 + 6 + 9、1 + 4 + 7 + 10 和 3 + 5 + 8 + 11。期望 output 应该是单个数字期望 output
[[-0.22387005649, -0.2761299435, 0.5][arraylist two answer][ arraylist three answer]]
你需要三个总和:
for(List<Double> subList: ai) {
int k = 0;
double[] sums = {0d, 0d, 0d};
for(Double d: subList) {
sums[k++ % 3] += d; // Redirect d into one of three sums
}
List<Double> sumsAsList = Arrays.stream(sums).boxed().collect(Collectors.toList());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.