Ich habe das Verhalten von Java Array und ArrayList nicht gut verstanden und daher versucht, die Teile zusammenzufassen, die wahrscheinlich häufig verwendet werden.
Main1 beschreibt das Erstellen eines Arrays und Main2 beschreibt das Erstellen einer ArrayList und das Abrufen von Werten. Main3 und Main4 beschreiben jedes mehrdimensionale Array.
Main1
Main1.java
import java.util.Arrays;
/**
* Created 2017/05/24.
*Liste des normalen Array-Verhaltens in Main1
*/
public class Main1 {
public static void main(String[] args) {
//So erstellen Sie ein Array
//Deklarationsmethode 1
//Deklarieren Sie den Typ und den Namen des Arrays
//int[] num;
//Sichern Sie den zu verwendenden Bereich
//num = new int[3];
//Deklarationsmethode 2
//Wie man die obige Methode gleichzeitig macht
int[] num = new int[3];
//Speicherung in einem Array
num[0] = 1;
num[1] = 2;
num[2] = 3;
//Wenn Sie alles von der Erstellung bis zur Speicherung tun
// int[] num = {1, 2, 3};
//Extraktion der Sequenz
System.out.println(num[0]);
//Ausführungsergebnis: 1
//Wie man alles auf einmal herausnimmt
//Beim Schleifen mit einer normalen for-Anweisung
for (int i = 0; i < num.length; i++) {
System.out.print(num[i] + " ");
//Ausführungsergebnis: 1 2 3
}
System.out.println(" "); //Ich habe es für den Auftritt nach der Hinrichtung eingesetzt
//Bei Verwendung der erweiterten for-Anweisung
for (int value : num) {
//value ist ein beliebiger Variablenname,Im Gegensatz zu normal für wird der Variablenname unverändert verwendet
System.out.print(value + " ");
//Ausführungsergebnis: 1 2 3
}
System.out.println(" "); //Das gleiche wie oben
//So zeigen Sie den Inhalt eines Arrays gleichzeitig an (p-Methode in Ruby)
// Arrays.Es fühlt sich gut an, toString zu verwenden
//Importieren Sie bei der Verwendung vorsichtshalber Java.util.Arrays;Müssen deklarieren
//Das andere ist Arrays, wenn das Zielarray ein mehrdimensionales Array ist..Muss als deepToString geschrieben werden
System.out.println(Arrays.toString(num));
//Ausführungsergebnis:[1, 2, 3]
//Wenn Sie es so schreiben, wird es zu einer mysteriösen Zeichenkette
System.out.println(num);
//Ausführungsergebnis:[I@1540e19d
//Ergänzende Regeln und so weiter
//Das Array kann nicht mehr als die Anzahl der zu Beginn deklarierten Elemente speichern
//num[3] = 4; //Es macht keinen Sinn, zu schreiben, um 4 an der 4. Stelle des Arrays zu speichern, es passt eigentlich nicht
//System.out.println(num[3]);
//Als Verhalten gibt es keinen Kompilierungsfehler, aber einen Ausführungsfehler.
//Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:Wütend werden wie 3
//Auch wenn die Speicherdeklaration im Array nicht gemacht wird, z. B. num[5]Und num[6]Ich erhalte den gleichen Fehler, wenn ich versuche, den Wert von anzuzeigen
}
}
Ausführungsergebnis
Main1.Java
1
1 2 3
1 2 3
[1, 2, 3]
[I@1540e19d
Main2
Main2.java
import java.util.ArrayList;
/**
* Created 2017/05/24.
*Main2 beschreibt das normale Verhalten von ArraysList
*/
public class Main2 {
public static void main(String[] args) {
//So erstellen Sie eine ArrayList
//Grundlegende Erklärung
//ArrayList<Integer> num = new ArrayList<Integer>();
//Definitionsbeispiel für Java SE 7 oder höher
ArrayList<Integer> num = new ArrayList<>();
//Ergänzung
//new ArrayList<>();von()は、数値を入れることで、配列von初期サイズを決めることが出来る
//Speichermethode
//Verwenden Sie die Add-Methode
//Als Schreibweise hinzufügen(Daten, die Sie speichern möchten) oder hinzufügen(Index (Speicherposition),Daten, die Sie speichern möchten)Beschrieben in
//Es wird grundsätzlich in der richtigen Reihenfolge gespeichert
//Wenn der Wert bereits vorhanden ist, wenn der Index angegeben wird,Beachten Sie, dass der Wert so gespeichert wird, dass er horizontal verschoben wird, anstatt ihn zu überschreiben.
num.add(1);
num.add(1, 2);
num.add(3);
//num.add(2,4);
//Wenn Sie so hinzufügen,[1,2,4]Nicht[1,2,4,3]Bitte beachten Sie, dass es sich um ein Array handelt
//Wenn Sie den Wert num aktualisieren möchten.set(2,4);mögen,.set()Mit[1.2,4]Kann erhalten werden
//Wert extrahieren
//get()Verwenden Sie die Methode
System.out.println(num.get(0));
//Ausführungsergebnis: 1
//Mit der Hand herausnehmen
//zur Aussage
//Für ArrayList, um die Anzahl der Elemente abzurufen.size()verwenden
for (int i = 0; i < num.size(); i++) {
System.out.print(num.get(i) + " ");
//Ausführungsergebnis:1 2 3
}
System.out.println(" ");
//Für Aussage erweitert
for (int value : num) {
System.out.print(value + " ");
//Ausführungsergebnis:1 2 3
}
System.out.println(" ");
//Wenn Sie alle auf einmal wie die p-Methode anzeigen, legen Sie sie einfach so ab, wie sie ist
System.out.println(num);
//Ausführungsergebnis:[1, 2, 3]
}
}
Ausführungsergebnis
Main2.java
1
1 2 3
1 2 3
[1, 2, 3]
Main3
Main3.java
import java.util.Arrays;
/**
* Created 2017/05/24.
*In Main3 eine Liste von Verhaltensweisen beim Erstellen eines mehrdimensionalen Arrays in einem normalen Array
*/
public class Main3 {
public static void main(String[] args){
//Erklärung und Schöpfung
int [][] num = new int[2][3];
//Wertspeicherung
num[0][0] = 1;
num[0][1] = 2;
num[0][2] = 3;
num[1][0] = 10;
num[1][1] = 11;
num[1][2] = 12;
//So rufen Sie den Wert ab
System.out.println(num[0][0]);
//Ausführungsergebnis:1
System.out.println(num[1][2]);
//Ausführungsergebnis:12
//Beim Herausnehmen auf einmal
//Doppelschleife mit for
//i ist die Gesamtzahl der Elemente in num, num.Schleife nach Länge
for(int i = 0; i < num.length; i++){
//j ist die Anzahl der Elemente in jedem Array, num[i].Schleife auf Länge
for(int j = 0; j < num[i].length;j++){
System.out.print(num[i][j] + " ");
//Ausführungsergebnis: 1 2 3 10 11 12
}
}
System.out.println(" ");
//Für verlängert für
//Dies wird auch in einer Doppelschleife geschrieben
//Geben Sie ein Array als abzurufende Daten an
for(int[] index : num) {
//Nehmen Sie als nächstes den Inhalt aus dem Arrangement heraus
for (int element : index) {
System.out.print(element + " ");
//Ausführungsergebnis: 1 2 3 10 11 12
}
}
System.out.println(" ");
//Stapelanzeige
//Arrays für mehrdimensionale Arrays.deepToString();verwenden
System.out.println(Arrays.deepToString(num));
//Ausführungsergebnis:[[1, 2, 3], [10, 11, 12]]
}
}
Ausführungsergebnis
Main3.java
1
12
1 2 3 10 11 12
1 2 3 10 11 12
[[1, 2, 3], [10, 11, 12]]
Main4
Main4.java
import java.util.ArrayList;
/**
* Created 2017/05/24.
* *Main4 beschreibt das mehrdimensionale Verhalten von ArraysList
*Ich kann es verstehen, aber es ist schwer zu handhaben
*/
public class Main4 {
public static void main(String[] args){
//So erstellen Sie eine zweidimensionale ArrayList
//Erstellen Sie zunächst zwei normale ArrayLists.
ArrayList<Integer> num1 = new ArrayList();
num1.add(1);
num1.add(2);
num1.add(3);
System.out.println(num1);
//Ausführungsergebnis:[1, 2, 3]
ArrayList<Integer> num2 = new ArrayList<Integer>();
num2.add(10);
num2.add(11);
num2.add(12);
System.out.println(num2);
//Ausführungsergebnis:[10, 11, 12]
//Erstellen Sie als Nächstes eine ArrayList zum Speichern und achten Sie auf den zu deklarierenden Datentyp
//Bei der Deklaration des Datentyps sind die zu speichernden Daten "ArrayList".<Integer>Geschäft! Kann durch Deklaration eingegeben werden
ArrayList<ArrayList<Integer>> num_list =new ArrayList<>();
num_list.add(num1);
num_list.add(num2);
//Wie man herausnimmt
//.get().get()Mit herausnehmen mit
System.out.println(num_list.get(0).get(0));
//Ausführungsergebnis:1
System.out.println(num_list.get(0).get(2));
//Ausführungsergebnis:3
System.out.println(num_list.get(1).get(0));
//Ausführungsergebnis:10
//Nimm alles raus
//for
//i ist die Gesamtzahl der Elemente in num, num.size()Schleife mit
for(int i = 0; i < num_list.size(); i++){
//j ist die Anzahl der Elemente in jedem Array, num[i].size(()Schleife zu
for(int j = 0; j < num_list.get(i).size();j++){
System.out.print(num_list.get(i).get(j) + " ");
//Ausführungsergebnis:1 2 3 10 11 12
}
}
System.out.println(" ");
//Erweiterung für
//ArrayList in Variablendeklaration<Integer>Wenn Sie es mit + Variablenname deklarieren, können Sie den Wert ziehen!
for(ArrayList<Integer> index : num_list) {
//Der Rest wird in einer normalen erweiterten for-Anweisung beschrieben
for (int element : index) {
System.out.print(element + " ");
//Ausführungsergebnis:1 2 3 10 11 12
}
}
System.out.println(" ");
//Stapelanzeige
System.out.println(num_list);
//Ausführungsergebnis:[[1, 2, 3], [10, 11, 12]]
//So fügen Sie einen Wert hinzu
//.add()Sie können verwenden, aber müssen Sie jedes Array hinzufügen oder ein neues Array erstellen und hinzufügen?
//num_list.add()Ich möchte es direkt in Form von hinzufügen, aber ich weiß es doch nicht
num1.add(4);
num2.add(13);
//Neues Array hinzufügen
ArrayList<Integer> num3 = new ArrayList<Integer>();
num3.add(20);
num3.add(21);
num3.add(22);
num_list.add(num3);
System.out.println(num_list);
//Ausführungsergebnis[[1, 2, 3, 4], [10, 11, 12, 13], [20, 21, 22]]
}
}
Ausführungsergebnis
Main4.java
[1, 2, 3]
[10, 11, 12]
1
3
10
1 2 3 10 11 12
1 2 3 10 11 12
[[1, 2, 3], [10, 11, 12]]
[[1, 2, 3, 4], [10, 11, 12, 13], [20, 21, 22]]
Ursprünglich habe ich Ruby gemacht, daher waren Arrays mit variabler Länge wie ArrayList intuitiv einfacher zu verwenden. Wenn es um mehrdimensionale Arrays geht, ist der Eindruck, dass ArrayList verwirrend und schwer zu verstehen ist. Ich weiß immer noch nicht, wie ich diese beiden verwenden soll, deshalb würde ich gerne hart lernen.
Recommended Posts