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