我需要将给定数字的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 ]
我该怎么做?
答案 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);
}
或更紧凑(即内联变量oldValue
和newValue
):
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);
}
from
和to
是ArrayList的有效索引,但是你应该总是检查它们是否在数组范围内答案 2 :(得分:0)
提示: ArrayList
提供对其成员的索引访问权限。您可以轻松地遍历所需的元素。对于递增最后n
个元素,请使用for
循环并列出size()
。