【发布时间】:2014-02-05 11:36:09
【问题描述】:
我有一个对象列表。每个对象都有一个列表。我想要做的是将这些对象水平添加到一个新列表中,使其看起来像这样:
目前我正在努力寻找合适的算法,所以我编写了这个小测试程序:
public class testClass {
/**
* @param args
*/
public static void main(String[] args) {
List<Double> list1 = new ArrayList<Double>();
List<Double> list2 = new ArrayList<Double>();
List<Double> list3 = new ArrayList<Double>();
List<List<Double>> objectList = new ArrayList<List<Double>>();
//add data
list1.add(1.0);
list1.add(2.0);
list1.add(3.0);
list1.add(4.0);
list1.add(5.0);
list1.add(6.0);
list1.add(7.0);
list2.add(1.0);
list2.add(2.0);
list2.add(3.0);
list2.add(4.0);
list2.add(5.0);
list2.add(6.0);
list2.add(7.0);
list3.add(1.0);
list3.add(2.0);
list3.add(3.0);
list3.add(4.0);
list3.add(5.0);
list3.add(6.0);
list3.add(7.0);
objectList.add(list1);
objectList.add(list2);
objectList.add(list3);
double result = 0.0;
List<Double> resultList = new ArrayList<Double>();
for (int i = 0; i < objectList.size(); i++) {
for (int j = 0; j < objectList.get(i).size(); j++) {
result =+ objectList.get(i).get(j);
resultList.add(result);
}
}
System.out.println(resultList.toString());
}
}
但是,我目前得到的是:
[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0]
关于如何解决该问题以从图片中获得所需输出的任何建议?
感谢您的回答!
更新
更改为+= 运算符我得到:
[1.0, 3.0, 6.0, 10.0, 15.0, 21.0, 28.0, 29.0, 31.0, 34.0, 38.0, 43.0, 49.0, 56.0, 57.0, 59.0, 62.0, 66.0, 71.0, 77.0, 84.0]
列表大小增加了两倍。如何横向添加元素?
【问题讨论】:
-
@SubhrajyotiMajumder 你是什么意思?
-
你提到了
=+的代码,但是你提到了+= -
@SubhrajyotiMajumder 是的,但我根本没有更改代码。我只改了
update section!