Als ich lernte, Java Silver zu bekommen Ich bin bei der Initialisierung des mehrdimensionalen Arrays festgefahren, daher lasse ich es als Memo.
String[][] array = {{"a","b"},{"c","d","e"},{"f","g","h","i"}};
Ich war verwirrt, weil die Anzahl der Klammern nicht "{} {} {}" entsprach, obwohl ich beim Deklarieren des Arrays "[] []" geschrieben habe. Ich konnte nicht verstehen, warum dieses Array kompiliert werden würde ...
Es war eine einfache Geschichte.
String[][] array = {{"array[0][]"},{"array[1][]"},{"array[2][0]"}};
Die drei {} entsprechen dem tiefgestellten Teil des Arrays der ersten Dimension. Die in {} beschriebenen Werte von a bis i waren die Werte des zweitdimensionalen Arrays, auf das sich das erstdimensionale Array bezieht.
public class Main{
public static void main(String[] args) {
String array[][] = {{"a","b"},{"c","d","e"},{"f","g","h","i"}};
System.out.println(array[0][0]); //a
System.out.println(array[0][1]); //b
System.out.println(array[1][0]); //c
System.out.println(array[1][1]); //d
System.out.println(array[1][2]); //e
System.out.println(array[2][0]); //f
System.out.println(array[2][1]); //g
System.out.println(array[2][2]); //h
}
}
Wenn ich tatsächlich jedes Element mit der println-Methode ausgab, wurde das erwartete Ergebnis zurückgegeben.
Übrigens, wenn tatsächlich jedes Element des Arrays ausgegeben wird,
public class Main {
public static void main(String[] args) {
String array[][] = { { "a", "b" }, { "c", "d", "e" }, { "f", "g", "h", "i" } };
for(String[] tmp : array) {
for(String s : tmp) {
System.out.println(s);
}
}
}
}
Auf diese Weise ist die Methode zum Drehen des Arrays mit der for-Anweisung üblicher.
Die Lesbarkeit der 3. und der nachfolgenden Dimensionen ist ebenfalls schlecht, es ist jedoch möglich, jedes Element wie unten gezeigt zu verschachteln und auszugeben.
public class Main {
public static void main(String[] args) {
String array[][][] = { { { "a", "b" }, { "c", "d", "e" } }, { { "f", "g", "h", "i" }, { "j", "k", "l", "m" } },
{ { "n", "o", "p" }, { "q" } } };
for (String[][] s1 : array) {
for (String[] s2 : s1) {
for (String s3 : s2) {
System.out.println(s3);
}
}
}
}
}
Recommended Posts