我需要一个二维列表矩阵,例如ArrayList,并且想知道在这种情况下什么是最好的选择。它只需要是4x4大小。
我应该使用像
ArrayList[][] foo = new ArrayList[4][4];
或者
ArrayList<SomeClass>[][] foo = new ArrayList[4][4];
在 for 循环中初始化每个元素的适当类型或
ArrayList<ArrayList<ArrayList<SomeClass>>> foo = ArrayList<ArrayList<ArrayList<SomeClass>>>();
第一种方法会产生警告,提示需要进行参数化。如果我使用第二种方法,则会收到未经检查的转换警告。但是,如果循环遍历元素并在那里初始化它们,即使仍然收到警告,也不应该有任何问题,对吗?最后一种方法不会产生任何警告,并且可能运行良好,但感觉有点凌乱。
编辑:尽管我的问题有点不太清楚,但我得到了一些不错的答案。基本上是如何制作列表的表格。创建一个自定义类来处理行/列可以使其变得更容易。
ArrayList<SomeClass>[][] foo = new ArrayList<SomeClass>[4][4];
,但是拥有一个列表数组似乎有些尴尬。你真的需要那个二维数组吗?如果是这样,请提供一些更多的信息。 - Thomas