如何以下列格式在Array-list中存储/添加列表元素?
x.get(0)->[1,2,3,4],
x.get(1)->([5,6,7,8],
x.get(2)->[9,10,11,12],
x.get(3)->[13,14,15,16]
我获得了一系列数字,并希望将它们与列表分开。 当我使用x.add()时,即按顺序将所有元素添加到单个列表中。
答案 0 :(得分:1)
你可以这样做一个arraylists的arraylist:
ArrayList<ArrayList<Integer>> arrayList = new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> tempArrayList = new ArrayList<Integer>();
tempArrayList.add(1);
tempArrayList.add(2);
tempArrayList.add(3);
tempArrayList.add(4);
arrayList.add(tempArrayList);
System.out.println(arrayList.get(0).get(0));
System.out.println(arrayList.get(0).get(1));
tempArrayList = new ArrayList<Integer>();
tempArrayList.add(5);
tempArrayList.add(6);
tempArrayList.add(7);
tempArrayList.add(8);
arrayList.add(tempArrayList);
System.out.println(arrayList.get(1).get(0));
System.out.println(arrayList.get(1).get(1));
etc...
如果每个列表都有固定数量的数字,则可以ArrayList
个int[]
数组...
答案 1 :(得分:1)
通过这种方式,您可以将list(ArrayList)添加到ArrayList
。
//Adding `ArrayList` into `ArrayList`
ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> innerList = new ArrayList<Integer>();
//adding element to innerlist
innerList.add(10);
innerList.add(20);
...
//adding innerList into list
list.add(innerList);
如果你得到一个数字序列:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16。
然后,下面的代码可以帮助您准备列表并添加到ArrayList
。
public ArrayList<ArrayList<Integer>> mainlist = new ArrayList<ArrayList<Integer>>();
public void prepareList() {
ArrayList<Integer> innerList = new ArrayList<Integer>();
for (int i = 1; i <= 16; i++) {
innerList.add(i);
if (i % 4 == 0) {
mainlist.add(innerList);
innerList = new ArrayList();
}
}
}