Java-Anfänger fassten das Verhalten von Array und ArrayList kurz zusammen

Einführung

Ich habe das Verhalten von Java Array und ArrayList nicht gut verstanden und daher versucht, die Teile zusammenzufassen, die wahrscheinlich häufig verwendet werden.

Beispielcode

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

Impressionen

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

Java-Anfänger fassten das Verhalten von Array und ArrayList kurz zusammen
Ich habe die Typen und Grundlagen von Java-Ausnahmen zusammengefasst
[Java] Unterschied zwischen Array und ArrayList
Vergleichen Sie Elemente eines Arrays (Java)
[Tag: 5] Ich habe die Grundlagen von Java zusammengefasst
[Java] [Spring] Testen Sie das Verhalten des Loggers
[Java] Der verwirrende Teil von String und StringBuilder
Ich habe die Eigenschaften von Java und .NET verglichen
ArrayList und die Rolle der Schnittstelle aus List
Zusammenfassung des ToString-Verhaltens mit Java- und Groovy-Annotationen
Bitte beachten Sie die Aufteilung (Aufteilung) von Java Kotlin Int und Int
[Für Anfänger] DI ~ Die Grundlagen von DI und DI im Frühjahr ~
[Für Anfänger] Verstehen Sie schnell die Grundlagen von Java 8 Lambda
Konvertieren Sie das Array von error.full_messages in Zeichen und geben Sie es aus
Den aktuellen Status von Java organisieren und die Zukunft betrachten
Java-Sprache aus der Sicht von Kotlin und C #
Überprüfen Sie das Verhalten von Java Intrinsic Locks mit bpftrace
Das Verhalten unterscheidet sich zwischen new und clear () von ArrayList
Java Häufig verwendete Anweisungsliste (für Anfänger und Anfänger)
[Für Anfänger] Erläuterung von Klassen, Instanzen und Statik in Java
[Hinweis] Java Ausgabe der Summe von ungeraden und geraden Elementen
[Java] Anfängerverständnis von Servlet-②
Ich habe versucht, die Grundlagen von Kotlin und Java zusammenzufassen
Ein Programm (Java), das die Summe von ungeraden und geraden Zahlen in einem Array ausgibt
[Java] Anfängerverständnis von Servlet-①
Ich habe versucht, Methoden mit ähnlichen Funktionen für den Unterschied zwischen Java-Array und ArrayList zu vergleichen und ihnen zu entsprechen.
Vor- und Nachteile von Java
[Java] Konvertiert ArrayList in Array
[Java] Ich habe über die Vorzüge und Verwendungen von "Schnittstelle" nachgedacht.
[Java] Verschiedene Zusammenfassungen an die Leiter von Klassen und Mitgliedern
Verwendung von Java-Array-Elementen für, Länge, Wert und erweitert für Anweisungen
[Java] Ordnen Sie die Daten des vergangenen Montags und Sonntags der Reihe nach an
[Swift5] So erhalten Sie ein Array und eine Reihe von Unterschieden zwischen Arrays
Die Geschichte, das Verhalten von String durch Passieren von Java nicht zu kennen
Informationen zur Beziehung zwischen dem Java String Equality Operator (==) und der Initialisierung. Anfänger
Lesen Sie die ersten 4 Bytes der Java-Klassendatei und geben Sie CAFEBABE aus
Vom jungen Java (3 Jahre) bis zu Node.js (4 Jahre). Und der Eindruck, nach Java zurückzukehren
Ich habe versucht, die Methoden von Java String und StringBuilder zusammenzufassen
Seit ich Oracle Java Bronze bestanden habe, habe ich die Umrisse des Tests zusammengefasst.
Das Verhalten von JS auf Java SE 8 Nashorn änderte sich plötzlich
Über das Verhalten von Ruby Hash # ==
[Java] Löschen Sie die Elemente von List
[Für Anfänger] Zusammenfassung des Java-Konstruktors
Über Biocontainer fastqc und Java
Java für Anfänger, Ausdrücke und Operatoren 1
[Java Edition] Geschichte der Serialisierung
Ich habe die Quelle von ArrayList gelesen, die ich gelesen habe
Java für Anfänger, Ausdrücke und Operatoren 2
[Java] Deklarieren und initialisieren Sie ein Array
Dies und das von JDK
Java Basic Learning Content 2 (Array / ArrayList)
Anfänger untersuchten das Webpack und fassten es zusammen
Informationen zu removeAll und RetainAll von ArrayList
Klassen und Instanzen Java für Anfänger
Der Ursprung von Java-Lambda-Ausdrücken
[Java] Konvertieren Sie ein Array in ArrayList * Achtung
[Rails] Unterschied im Verhalten zwischen Delegat und has_many-through bei Eins-zu-Eins-zu-Viele
Erhöhen Sie dynamisch die Anzahl der Elemente in einem zweidimensionalen Java-Array (mehrdimensionales Array).
Eine Sammlung von Phrasen, die das "unterschiedliche Gefühl" von Java und JavaScript beeindruckt