如何以下面的格式在Array-list中存储/添加列表元素?

时间:2015-03-24 15:27:38

标签: java arraylist collections

如何以下列格式在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()时,即按顺序将所有元素添加到单个列表中。

2 个答案:

答案 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...

如果每个列表都有固定数量的数字,则可以ArrayListint[]数组...

答案 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();
            }
        }
    }