正确有效的方法在java中创建10个列表?

时间:2016-07-15 06:31:46

标签: java arraylist

如何在java中制作10个列表,例如每个列表都有可变数据量。

MySolution:

我使用了以下方法来解决这个问题。

  ArrayList a1=new ArrayList();
  ArrayList a2=new ArrayList();
  for(int i=0;i<5;i++)
  {
     for(int j=0;j<10;j++)
     {
       a1.add(0);
     }
     a2.add(a1);
  }

但是,这种方法只创建了一个列表: 用户输入时具有以下元素。

输出:

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

2 个答案:

答案 0 :(得分:2)

您可以按照以下方式执行此操作:

List<List<Integer>> outer=new ArrayList<>();

  for(int i=0;i<5;i++)
  {
     List<Integer> inner=new ArrayList<Integer>();
     for(int j=0;j<10;j++)
     {
       inner.add(0);
     }
     outer.add(inner);
  }

有关更多示例,请浏览the documentation of Java Collections

答案 1 :(得分:1)

使用Java 8流API

List<List<Integer>> res = IntStream.range(0,5).boxed()
                            .map(p-> IntStream.generate(() -> 0)
                                        .limit(10).boxed().collect(Collectors.toList()))
                            .collect(Collectors.toList());

注意:使用正常的旧时尚方式比这更快;因为我们正在处理的数据集很小。