我想知道如何创建一个可以包含其他列表的列表,这些列表本身可能包含任何类型的对象。
我尝试了这个,但它不起作用:
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);
答案 0 :(得分:1)
你需要这样的东西
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 :(得分:0)
你也可以这样做,
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);
}
}
答案 2 :(得分:-1)
以上答案基本上是正确的。我只是略微修改它。
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);