Javaでは、ループを書く方法がありません。そのため、配列の配列をjavaで素早く名前x{a_1[], a_2[], a_3[], ... , a_n[]}
で初期化することができます。あるいは、それを入力するだけで済むでしょうか?Javaで配列名を初期化する
私は習得しようとしていることを明確にする新しい質問を書いています。 Java Poset simulation
Javaでは、ループを書く方法がありません。そのため、配列の配列をjavaで素早く名前x{a_1[], a_2[], a_3[], ... , a_n[]}
で初期化することができます。あるいは、それを入力するだけで済むでしょうか?Javaで配列名を初期化する
私は習得しようとしていることを明確にする新しい質問を書いています。 Java Poset simulation
すでに「行」-arrays、a_1
を持っている場合は... a_n
、それを行うための最もコンパクトな方法は
int[] a_1 = { 1, 2, 3 };
int[] a_2 = { 4, 5, 6 };
int[] a_3 = { 7, 8, 9 };
int[][] matrix = { a_1, a_2, a_3 };
であるあなたは、ループを使用する場合でも、あなたはまだ指定する必要があります配列a_1
、a_2
などのように、 を繰り返し処理したいので、それらのすべてについて言及することはできません。
あなたは明らかに、このような、そうで{ 1, 2, 3 }
ためa_1
を代入し、可能性:
int[][] matrix = { { 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 } };
二次元アレイは、アレイのアレイです。
// declare & allocate
int[][] x = new int[5][4];
// assign value in 3rd position of the 2nd array
x[1][2] = 5;
// create array containing 1 & 2 in the first "row" (or array)
// and 3 & 4 in the second one.
int[][] x = new int {{1,2}, {3,4}};
// create an array of 2 arrays of different size:
int[][] x = new int[2][];
x[0] = new int[4];
x[1] = new int[2];
、私はそれに答えを与えてみます。
Javaでは、2D配列は配列の配列として扱われます。配列の配列に対して参照を取得する場合は、2D配列の変数を使用して、その要素のそれぞれを配列として使用できます。たとえば、あなたはすべてのアレイをループするforeachループを使用することができます。
int[][] foo = new int[ 10 ][ 20 ];
for(int[] arrayInFoo : foo)
{
arrayInFoo[ 0 ] = ...;
arrayInFoo[ 1 ] = ...;
...
arrayInFoo[ 9 ] = ...;
}//for
よろしく、 ステファン
あなたはという名前の配列で何を意味するのですか?
あなたの場合のa_1はx [0]になります。あなたが得ることができる休館
はこれです:
int a1[], a2[];
int aa[][] = { (a1 = new int[] { 1 }), a2 = new int[] { 2, 3 } };
しかし、配列の配列はほとんどここに値を追加しません。 あなただけの、多次元配列を初期化したい、このようにそれを行う場合:
int ba[][] = { { 1 }, { 2, 3 }, { 2, 3, 4 }, { 2, 3, 4 } };
あなたはまた悲しげに、それは最初のレベルのみをサポートし、Arrays
を使用して同じ値でそれを埋めることができます。
int c1[] = new int[5];
Arrays.fill(c1, 5);
int ca[][] = { Arrays.copyOf(c1, 5),
Arrays.copyOf(c1, 5),
Arrays.copyOf(c1, 5) };
または:
int da[][] = new int[5][5];
for (int i = 0; i < da.length; i++) {
Arrays.fill(da[i], 5);
}
または可能性:foreachので
int ea[][] = new int[5][5];
for (int i = 0; i < ea.length; i++) {
for (int j = 0; j < ea[i].length; j++) {
ea[i][j] = 5;
}
}
:
int fa[][] = new int[5][5];
for (int[] is : fa) {
Arrays.fill(is, 5);
}
と:
int ga[][] = new int[5][5];
for (int[] is : ga) {
for (int i : is) {
i = 5;
}
}
変数の名前は、時には操作や心配するものではありません。内部配列変数名を気にするのではなく、2D配列(単に配列の配列)を使うほうがよいでしょう。それ以外の場合は、Stringの情報の集合を絶対に参照する必要がある場合は、Mapの使用を検討してください。 –