Java 将 ArrayList 中的所有整数元素加 1

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/19199171/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-12 14:59:21  来源:igfitidea点击:

Increment all integer elements by 1 in a ArrayList

javaarraylist

提问by Sravan2023

I need to increment the values for certain part of a ArrayList by a given number.

我需要按给定数字增加 ArrayList 某些部分的值。

like [ 1 2 3 4 5 6 7 8 9 1 1 1 ]lets say i need to increment last 3 elements by 2 so that the result would be

[ 1 2 3 4 5 6 7 8 9 1 1 1 ]可以说,我需要通过2递增最后3个元素,这样的结果将是

[ 1 2 3 4 5 6 7 8 9 3 3 3 ]

how can i do this ?

我怎样才能做到这一点 ?

采纳答案by Erik Kaplun

Assuming arrayListcontains the ArrayList<Integer>instance:

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

or, more compactly (i.e. inlining the variables oldValueand newValue):

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

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

回答by Ravi Thapliyal

Hint :ArrayListprovides indexed access to its members. You can easily loop over the required elements. For incrementing last nelements make use of a forloop and list's size().

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

回答by MaD

Assuming that the part that needed to be incremented in known [from, to]. You just loop on the ArrayList and add the number you wish: (remember that you can access the items in the ArrayList by index)

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

arr - is ArrayList

arr - is ArrayList

number- is the number you wish to increment by

number- 是您希望增加的数字

for (int i = from; i < to; i++){
       int item = arr.get(i);
       arr.set(i,item+number);
    }
  • I assume here that fromand toare valid indexes for the ArrayList but you should always check if they are within the array bounds
  • 我这里假设fromto是ArrayList的有效指标,但您应经常检查,如果他们是在阵列范围内