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

时间:2013-10-05 15:05:37

标签: 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 ]

我该怎么做?

3 个答案:

答案 0 :(得分: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);
}

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

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

答案 1 :(得分:1)

假设需要在已知 [from,to] 中递增的部分。你只需在ArrayList上循环并添加你想要的数字:(记住你可以通过索引访问ArrayList中的项目)

arr - is ArrayList

数字 - 是您想要增加的数字

for (int i = from; i < to; i++){
       int item = arr.get(i);
       arr.set(i,item+number);
    }
  • 我假设fromto是ArrayList的有效索引,但是你应该总是检查它们是否在数组范围内

答案 2 :(得分:0)

提示: ArrayList提供对其成员的索引访问权限。您可以轻松地遍历所需的元素。对于递增最后n个元素,请使用for循环并列出size()