解决多维arraylists

时间:2012-03-15 20:15:34

标签: java

我正在尝试基数排序,但我遇到了解决arraylists的arraylists问题。该列表有10个空格,每个空格都有一个大小为n的桶。

ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>(10);
ArrayList<Integer> bucket = new ArrayList<>();
bucket.add(99);
list.add(bucket);
list.add(bucket);
list.get(0).add(12); (6)

当我尝试使用(6)添加值时,它为列表中的每个arraylist添加12(可能是因为它们都是桶)。如何正确初始化arraylist,以便我独立处理列表中的每个arraylist?我会以类似的方式访问列表中每个arraylist的元素吗?

2 个答案:

答案 0 :(得分:1)

我认为您正在寻找的是

for (int i = 0; i < 10; i++) {

  list.add(new ArrayList<>());

}

如果需要,您可以为每个存储桶设置一个大小 - 我想通过将所需的大小传递给ArrayList构造函数

答案 1 :(得分:0)

当您向ArrayList中的list添加12时,您将添加到引用的ArrayList,在这种情况下为bucketlist.get(0)list.get(1)都会返回对同一ArrayListbucket的引用。