Java有没有高效的2D ArrayList类?

Nic*_*egg 6 java arrays arraylist multidimensional-array

我知道有可能创建一个2D ArrayList ArrayList<ArrayList<E>>,但这很麻烦,而且在添加和检索对象时是一个真正的铸造噩梦.

是否有任何2D ArrayList类可以更有效地执行此类操作?我正在从头开始编写一个真正的2D ArrayList类,我想知道是否有其他人以有效的方式完成了这类事情.

Avi*_* A. 5

不,很遗憾,没有二维ArrayList类。您可以选择的其他方法是(如果直径的0/1/2不变):

MyType[][] myList = new MyType[n][m];
Run Code Online (Sandbox Code Playgroud)

要么

ArrayList<MyType>[] myList = new ArrayList<MyType>[n];
Run Code Online (Sandbox Code Playgroud)

要么

ArrayList<ArrayList<MyType>> myList = new ArrayList<ArrayList<MyType>>();
Run Code Online (Sandbox Code Playgroud)

另一个选择是将所有数据保存在1d ArrayList中,并创建一个接收(x,y)并返回ArrayList中位置x的函数。这样,您可以在2D数组外进行演示,但可以轻松地将元素保存在1D ArrayList中