29

我想创建一个每个单元格都是一个二维数组ArrayList

我考虑了这个定义,但我不能添加任何东西这些定义是真的吗?!

ArrayList<ArrayList<String>> table = new ArrayList<ArrayList<String>>();

或者

ArrayList[][] table = new ArrayList[10][10];

//table.add??????

请帮我

4

5 回答 5

57

我想创建一个二维数组,每个单元格都是一个 ArrayList!

如果你想创建一个二维数组ArrayList那么你可以这样做:

ArrayList[][] table = new ArrayList[10][10];
table[0][0] = new ArrayList(); // add another ArrayList object to [0,0]
table[0][0].add(); // add object to that ArrayList
于 2013-06-06T08:04:19.387 回答
46

最好的方法是在 a 中使用Lista List

List<List<String>> listOfLists = new ArrayList<List<String>>();  
于 2013-06-06T08:02:51.127 回答
33

首先,当你在java中声明一个变量时,你应该使用接口声明它,即使你在实例化它时指定了实现

ArrayList<ArrayList<String>> listOfLists = new ArrayList<ArrayList<String>>();

应该写

List<List<String>> listOfLists = new ArrayList<List<String>>(size); 

然后你必须实例化你的二维数组的所有列

    for(int i = 0; i < size; i++)  {
        listOfLists.add(new ArrayList<String>());
    }

你会像这样使用它:

listOfLists.get(0).add("foobar");

但是如果你真的想“创建一个每个单元格都是一个 ArrayList 的二维数组!”

那么你必须走dijkstra 路

于 2013-06-06T08:14:55.310 回答
3
ArrayList<String>[][] list = new ArrayList[10][10];
list[0][0] = new ArrayList<>();
list[0][0].add("test");
于 2013-06-06T08:08:36.447 回答
2

这可以通过创建List数据结构的对象来实现,如下

列表列表 = 新的 ArrayList();

有关更多信息,请参阅此链接

如何在 Java 中创建多维 ArrayList?

于 2013-06-06T08:19:03.967 回答