如何在Java中创build二维ArrayList?

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

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

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

要么

 ArrayList[][] table = new ArrayList[10][10]; //table.add?????? 

请帮帮我

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

如果你想创build一个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 

最好的方法是在List使用List

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

首先,当你在java中声明一个variables的时候,即使你在实例化时指定了实现,也应该使用Interfaces来声明它

 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"); 

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

那么你必须去ijkstra的方式。

 ArrayList<String>[][] list = new ArrayList[10][10]; list[0][0] = new ArrayList<>(); list[0][0].add("test"); 

这可以通过创buildList数据结构的对象来实现,如下所示

List list = new ArrayList();

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

如何在Java中创build多维ArrayList?