嵌套列表在一个列表中

时间:2014-10-01 16:42:10

标签: java list

如何将嵌套列表转换为java中的单个列表?

List list = new ArrayList();
List newList = new ArrayList();
List<Integer> list1 = new ArrayList<Integer>();

list1.add(2);

list1.add(4);

list.add(5);
list.addAll(list1);
list.add(6);

如何将list的元素添加到newList,以便在我打印newList

打印

[5,2,4,6]

5 个答案:

答案 0 :(得分:2)

除非你有什么东西没有告诉我们,否则它只是重复你已经做过的事情:

newList.addAll(list);

正如在评论中所说,你真的应该为列表变量使用完整的通用类型:

 List<Integer> list = new ArrayList<>();
 List<Integer> newList = new ArrayList<>();
 List<Integer> list1 = new ArrayList<>();

答案 1 :(得分:0)

您不应该使用raw types,并且可以致电newList.addAll(list); -

public static void main(String[] args) {
    List<Integer> list = new ArrayList<>(); // <-- diamond operator, Java 7 and up.
    List<Integer> newList = new ArrayList<>();
    List<Integer> list1 = new ArrayList<>();
    list1.add(2);
    list1.add(4);
    list.add(5);
    list.addAll(list1);
    list.add(6);
    newList.addAll(list); // <-- here
    System.out.println(newList);
}

输出是请求的

[5, 2, 4, 6]

答案 2 :(得分:0)

您已经使用了

的可能方式

list.addAll(list1)

另一种方式是遍历列表resp。使用它的迭代器 获取并将所有项目放入newList。

请查看API以获取更详细的信息:http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#addAll(java.util.Collection)

答案 3 :(得分:0)

  for(int i=0;i<list.size();i++){
      if(list.get(i) instanceof Integer){ 
           newlist.add(list.get(i));
      }else{
           newlist.addAll((ArrayList)list.get(i));
      }
  }

答案 4 :(得分:0)

必须正确定义必须包含另一个列表的列表,其余工作将相同。请参阅以下内容:

import java.util.List;
import java.util.ArrayList;
public class demo2 {
    public static void main(String[] args) {
        List<List<Integer>> nestedList = new ArrayList<>();
        List<Integer> list = new ArrayList<>();
        list.add(1);
        nestedList.add(list);
        System.out.println(nestedList);
    }
}