Java を使用して 2 * 3 配列を 6 * 3 配列に変換する必要があります。どうすればそれを行うことができますか?私はJavaの初心者なので、助けていただければ幸いです。
質問する
1075 次
4 に答える
9
できません。配列は、割り当てられると固定サイズになります。
新しい配列を割り当て、古い配列の内容を新しい配列にコピーする必要があります。
Arrays.copyOf()
1つの解決策は、あなたのためにコピーを処理するものを使用することです:
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
代わりに a を使用します (ArrayList
既に提案されている an)。必要に応じて拡張します。
また、「2 次元のジェネリック配列」が必要な場合、Guava にはTable
、たとえば次のように使用して 2 次元配列を模倣できるものがあります。
final Table<Integer, Integer, X> mockArray = HashBasedTable.create();
于 2013-06-28T22:40:59.617 に答える
3
配列のサイズを変更することはできません。ただし、次元が 6 * 3 の新しい配列を作成し、データを ( System.arrayCopy
, Arrays.copyOf
) にコピーして、新しい配列への参照を返すことができます。
最初に配列のサイズがわからない場合は、代わりにArrayListを使用してください。
于 2013-06-28T22:39:09.100 に答える