如何在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]
答案 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());
注意:使用正常的旧时尚方式比这更快;因为我们正在处理的数据集很小。