【发布时间】:2023-04-07 23:28:01
【问题描述】:
我正在尝试基数排序,但在处理数组列表的数组列表时遇到了问题。该列表有 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) 添加一个值时,它会为列表中的每个数组列表添加 12(可能是因为它们都是存储桶)。如何正确初始化数组列表,以便独立处理列表中的每个数组列表?我会以类似的方式访问列表中每个数组列表的元素吗?
【问题讨论】:
-
您添加的 2 个存储桶是相同的(指向同一个数组列表)。您需要每次实例化一个新的数组列表 (bucket = new ArrayList();),然后再将其添加到您的列表中。
标签: java