如何在Java中创建列表列表并添加任何类型的列表?

How to create a List of Lists and add Lists of any type ti this one in Java?

本问题已经有最佳答案,请猛点这里访问。

我想知道如何创建一个可以包含其他列表的列表,这些列表本身可能包含任何类型的对象。

我试过了,但没用:

1
2
3
4
5
List<List<Object>> lists;// Also tried this List<List<? extends Object>> listados;
    List<Integer> code;
    List<String> name;
    lists.add(1, code);
    lists.add(2, name);


你需要这样的东西

1
2
3
4
5
6
7
8
9
10
11
12
    List<List<? extends Animal>> lists = new ArrayList<>();

    List<Person> listOne = new ArrayList<>();
    listOne.add(new Person("abc"));
    listOne.add(new Person("def"));

    List<Dog> listTwo = new ArrayList<>();
    listTwo.add(new Dog("abc"));
    listTwo.add(new Dog("def"));

    lists.add(listOne);
    lists.add(listTwo);


你也可以这样做,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ArrayList<ArrayList> lists = new ArrayList<ArrayList>();

ArrayList<Integer> l = new ArrayList<Integer>();
l.add(1);
l.add(2);

ArrayList<String> l1 = new ArrayList<String>();
l1.add("hi");
l1.add("hello");

lists.add(l);
lists.add(l1);

for(ArrayList al : lists){

    for(Object o : al){
        System.out.println(o);
    }
}


以上答案基本正确。我只是稍微修改一下。

1
2
3
4
5
6
7
8
9
10
11
12
List<List<Object>> lists = new ArrayList<>();

List<Integer> listOne = new ArrayList<>();
listOne.add(1);
listOne.add(2);

List<String> listTwo = new ArrayList<>();
listTwo.add("three");
listTwo.add("four");

lists.add(listOne);
lists.add(listTwo);