[英]How to increase the number of rows in a 2d array using java
我需要使用Java將2 * 3數組轉換為6 * 3數組。 我是Java的新手,所以對我的幫助非常感謝。
你不能 數組一旦分配,便具有固定大小。
您必須分配一個新數組並將舊數組的內容復制到新數組中。
一種解決方案是使用Arrays.copyOf()
,它將為您處理副本:
X[][] newArray = Arrays.copyOf(original, 6);
// Necessary: empty spaces are filled with null by default
for (int index = original.length; index < 6; index++)
newArray[index] = new X[3];
或者走簡單的路線,而改用List
(已經建議使用ArrayList
)。 他們按需擴展。
而且,如果您想要一個“二維通用數組”,Guava提供了Table
,您可以使用以下方法來模仿二維數組:
final Table<Integer, Integer, X> mockArray = HashBasedTable.create();
您不能更改數組的大小。 但是,您可以創建尺寸為6 * 3的新數組,將數據復制到( System.arrayCopy
, Arrays.copyOf
),然后返回對新數組的引用。
如果最初不確定數組大小,請使用ArrayList代替。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.