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); |
号