获取 ArrayList 的当前值 - Java

egx*_*egx 2 java for-loop arraylist

我想获取 ArrayList 的当前值。换句话说,我想遍历我的列表并获取循环运行的实例的当前值+所有以前的值。这是我的清单:

ArrayList<Double> list = new ArrayList<>(); 
list.add(10.0);
list.add(10.0);
list.add(10.0);
list.add(10.0);
list.add(10.0);
Run Code Online (Sandbox Code Playgroud)

我是这样循环的:

ArrayList<Double> list1 = new ArrayList<>(); 

for (int i = 1; i < list.size(); i++) {
     list1.add(list.get(i) + list.get(i - 1));
}

System.out.print(list1);
Run Code Online (Sandbox Code Playgroud)

我的问题当然是我只得到当前值+前一个值。但我想获取当前值 + 所有以前的值,因此 ArrayList “ list1 ” 由[10, 20, 30, 40, 50]而不是[20, 20, 20, 20, 20]现在的情况。

我仍在学习,所以我知道可能有一种简单/基本的方法可以做到这一点,但不幸的是我无法自己提出解决方案。

Joa*_*son 6

您想使用一个变量来添加值,然后将其添加到列表中

double sum = 0;
for (int i = 0; i < list.size(); i++) {
    sum += list.get(i);
    list1.add(sum);
}
Run Code Online (Sandbox Code Playgroud)

如果你想要整个数组,那么对每个循环使用 a 会更好。

double sum = 0;
for (Double value: list) {
    sum += value;
    list1.add(sum);
}
Run Code Online (Sandbox Code Playgroud)