添加ArrayList的连续元素

时间:2014-10-10 04:55:29

标签: list

我正在努力实现以下目标:

  

给定一个列表{146,7,-2,-1}写一个新的列表,使其第i个元素由" i"的总和组成。和我+ 1"。

所以这个列表:{146,153,151,150}将被转换为146,因为146 + 7 = 153,153 +( - 2)= 151,依此类推。 我写了以下内容:

List<Integer> list = new ArrayList<Integer>();
List<Integer> list2 = new ArrayList<Integer>();

list2.add(0, list.get(0));

for(int i=0;i<list.size()-1;i++)
{
  list2.add(i+1, list.get(i+1)+list.get(i));
  System.out.println(list2);
}

但是,这将返回{146,153,6,-3}。我做错了什么?

1 个答案:

答案 0 :(得分:3)

您应该添加到list2.get(i)而不是list.get(i)

List<Integer> list = new ArrayList<Integer>();
List<Integer> list2 = new ArrayList<Integer>();
list2.add(0, list.get(0));

for(int i=0;i<list.size()-1;i++)
{
    list2.add(i+1, list.get(i+1)+list2.get(i));
    System.out.println(list2);

}