如何在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?