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]现在的情况。
我仍在学习,所以我知道可能有一种简单/基本的方法可以做到这一点,但不幸的是我无法自己提出解决方案。
您想使用一个变量来添加值,然后将其添加到列表中
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)
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |