[Java-Anfänger] Informationen zur Initialisierung eines mehrdimensionalen Arrays

Als ich lernte, Java Silver zu bekommen Ich bin bei der Initialisierung des mehrdimensionalen Arrays festgefahren, daher lasse ich es als Memo.

Was ich nicht verstanden habe

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 ...

Wie man liest

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

[Java-Anfänger] Informationen zur Initialisierung eines mehrdimensionalen Arrays
[Java Silver] Informationen zur Initialisierung
[Anfänger] Java grundlegende "Array" Beschreibung
Über Biocontainer fastqc und Java
Über Lambda, Stream, LocalDate von Java8
[Java-Anfänger] Über Abstraktion und Schnittstelle
[Java] Mehrdimensionale Array- / Tabellenberechnung ausgeben (AOJ⑥-Tabellenberechnung)
Erklärt Ruby Array-Objekte
[Java] -Array
Java-Array
Java-Array
Java (Array)
Java Anfänger 4
Java-Array
[Java] Array
Java Anfänger 3
Java Anfänger
Java-Array
12 von Array
Java-Array
[Java] Array
[Java] Berechnung des mehrdimensionalen Arrays / inneren Produkts (AOJ⑦ inneres Produkt)
Vergleichen Sie Elemente eines Arrays (Java)
[Grundkenntnisse in Java] Informationen zur Typkonvertierung
Erhöhen Sie dynamisch die Anzahl der Elemente in einem zweidimensionalen Java-Array (mehrdimensionales Array).
[Einführung in Java] Informationen zu Array-Operationen (1D-Array, 2D-Array-Deklaration, Instanziierung, Initialisierung und Verwendung)
Über die Java-Schnittstelle
[Java] Informationen zu Java 12-Funktionen
Java-Array-Variable
Informationen zur Beschreibungsreihenfolge der Java-Systemeigenschaften
Über die Idee anonymer Klassen in Java
[Java] Array-Hinweis
Etwas über Java
Wo ist mit Java?
Informationen zu Java-Funktionen
Über Java-Threads
[Java] -Schnittstelle
Über die Java-Klasse
Informationen zu Java-Arrays
Über Java-Vererbung
Über Schnittstelle, Java-Schnittstelle
[Java] Übersicht über Java
Über Java Var
Über Java Literal
Informationen zu Java-Befehlen
Java-Übung "Anfänger"
Initialisierung von for Versuchen Sie, das Java-Problem in TypeScript 5-4 zu ändern
[Java] Über Objects.equals () und Überprüfung des String-Vergleichs (== und gleich)
Informationen zur Konvertierung von Zeichenfolgen in Java in voller Breite und halber Breite
Voraussichtliche Funktionen von Java
Java, über zweidimensionales Array
[Java] Bedeutung der serialVersionUID
Über die Klassenteilung (Java)
Informationen zum Trennen () von HttpURLConnection
Über [Java] [StreamAPI] allMatch ()
Informationen zur Java StringBuilder-Klasse
Bewertung von Java Shilber
[Java] Über Singleton Class
Über die Auswahl von OpenJDK