一起添加ArrayList中的元素

时间:2014-04-02 01:14:14

标签: java arrays

如果我有ArrayList喜欢:

[20,5,7,9]

我希望添加20+57+9并创建一个新值来替换我添加的两个值,因此我会创建一个new ArrayList,如:

[25,16]

我该怎么做呢?我是否只需创建int结果并声明新的ArrayList,然后将值替换为new ArrayList?或者我可以在计算值时编辑ArrayList吗?

4 个答案:

答案 0 :(得分:1)

您可以在原始ArrayList中执行此操作:

的伪代码:

for(the next two elements)
   get the sum
   set the first element to the sum
   delete the second       

代码:

for(int i = 0; i < (list.size() - 1); i++)  {
   int sum = list.get(i) + list.get(i + 1);
   list.set(i, sum);
   list.remove(i + 1);

   //i is incremented by ONE, because the element 
   //after i was just deleted.
}

答案 1 :(得分:1)

 public static void main(String []args){
List<Integer> list = new ArrayList<Integer>(Arrays.asList(20, 5, 7, 9));
List<Integer> list2 = new ArrayList<Integer>();

for(int i=0; i< list.size(); i++){
  if (i % 2 == 1) {
    continue;
  }
  list2.add(list.get(i) + (list.size() > i + 1 ? list.get(i+1) : 0 ));
}
for(Integer it :  list2) {            
    System.out.println(it);
}

 }

}

答案 2 :(得分:1)

我会尝试以下方法:

...
List<Integer> result = new ArrayList<Integer>();
try{
    for (int i=0; i<source.size();i=i+2)
        result.add(source.get(i)+source.get(i+1));
    }
catch (IndexOutOfBoundsException e){
    }

(假设'source'是您的原始列表)

请告诉我这是否有帮助!

答案 3 :(得分:0)

我会创建新数组并将新值放入数组中。我觉得这种方式更好。要添加20到5,您只需调出第一个元素并添加到第二个元素,然后将其放入新数组中。对7 + 9做同样的事情,关键在于确保你调出正确的元素。