在ArrayList中将所有整数元素递增1

Sra*_*023 -1 java arraylist

我需要将给定数字的ArrayList的某些部分的值递增.

比如[ 1 2 3 4 5 6 7 8 9 1 1 1 ] 让我说我需要将最后3个元素增加2,以便结果如此

[ 1 2 3 4 5 6 7 8 9 3 3 3 ]
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点 ?

Eri*_*lun 5

假设arrayList包含ArrayList<Integer>实例:

int startFrom = arrayList.size() - 3;
int upTo = arrayList.size();
int incrBy = 2;

for (int i = startFrom; i < upTo && i < arrayList.size(); i += 1) {
    int oldValue = arrayList.get(i);
    int newValue = oldValue + incrBy;
    arrayList.set(i, newValue);
}
Run Code Online (Sandbox Code Playgroud)

或者,更紧凑(即内联变量oldValuenewValue):

for (int i = startFrom; i < upTo && i < arrayList.size(); i += 1) {
    arrayList.set(i, arrayList.get(i) + incrBy);
}
Run Code Online (Sandbox Code Playgroud)