2

Java を使用して 2 * 3 配列を 6 * 3 配列に変換する必要があります。どうすればそれを行うことができますか?私はJavaの初心者なので、助けていただければ幸いです。

4

4 に答える 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 に答える