我有n个整数列表。我需要并行合并每个列表的项目,即每个列表的第0个位置的索引上的元素应该创建一个新的列表。
如果所有List的大小相等,我都能得到它。但是如果列表不一致,则抛出异常/现在正在工作。
请就此提出建议。
// here in lst we addedd all list.
// size of lst = 30
//sizeListForx= added index position of all list in lst
int total = 5;
for (int k = 0; k < lst.size()/total; k++) {
currentRecList = new ArrayList<String>();
for(int n = 0; n < sizeListForx.size(); n++) {
currentRecList.add(lst.get(k+n));
}
listForAll.add(currentRecList);
}
这里我在添加所有列表并保持索引位置
由于
答案 0 :(得分:1)
将所有列表添加到数组中,并通过该过程获取最大列表大小。然后你必须做两个嵌套的fors。看看这个:
package tests;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> list0 = new ArrayList<Integer>();
list0.add(1);
List<Integer> list1 = new ArrayList<Integer>();
list1.add(1);
list1.add(2);
List<Integer>[] listArray = new ArrayList[2];
listArray[0] = list0;
listArray[1] = list1;
int maxListSize = 2;
List newList = new ArrayList();
for (int i = 0; i < maxListSize; i++) {
List innerList = new ArrayList<Integer>();
for (int j = 0; j < listArray.length; j++) {
if (listArray[j].size() > i) {
innerList.add(listArray[j].get(i));
} else {
innerList.add(null);
}
}
newList.add(innerList);
}
System.out.println(newList);
}
}