减少数组列表中的元素

时间:2013-12-10 20:41:23

标签: java arraylist

我试图弄清楚如何减少数组列表中的所有值。

示例:

指数:

1 = 10

2 = 7

3 = 9

4 = 3

我希望循环并逐一递减它们。

我试过了

for(int i=0; i<n; i++){
   if(heapIndex.get(i) !=-1){
   heapIndex.set(heapIndex.get(i), heapIndex.get(i)-1);
}

不确定为什么这不起作用 注意:-1是一个特殊值。

1 个答案:

答案 0 :(得分:1)

我可能会做这样的事情

List<Integer> al = Arrays.asList( // First, get a
                                  // List of Integers.
    new Integer[] { 10, 7, 9, 3 }); // From the question
System.out.println(al); // print the List.
for (int i = 0; i < al.size(); i++) {
  Integer v = al.get(i); // get the element.
  v = v - 1; // Update the value.
  al.set(i, v); // Update the List.
}
System.out.println(al); // print the List.

打印

[10, 7, 9, 3]
[9, 6, 8, 2]