-1

我需要将 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 ]

我怎样才能做到这一点 ?

4

3 回答 3

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);
}

或者,更简洁(即内联变量oldValueand newValue):

for (int i = startFrom; i < upTo && i < arrayList.size(); i += 1) {
    arrayList.set(i, arrayList.get(i) + incrBy);
}
于 2013-10-05T15:11:48.717 回答
1

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

arr - is ArrayList

number - 是您希望增加的数字

for (int i = from; i < to; i++){
       int item = arr.get(i);
       arr.set(i,item+number);
    }
  • 我在这里假设from并且to是 ArrayList 的有效索引,但您应该始终检查它们是否在数组范围内
于 2013-10-05T15:16:35.500 回答
0

提示: ArrayList提供对其成员的索引访问。您可以轻松地遍历所需的元素。为了增加最后一个n元素,请使用for循环和列表size()

于 2013-10-05T15:13:52.707 回答