[Java] Was ist ArrayList?

ArrayList-Deklarations- / Initialisierungsmethode

ArrayList wird wie folgt deklariert. ArrayList Variablenname = new ArrayList (Anfangskapazität); * Anfangskapazität kann weggelassen werden

ArrayListSample.java


ArrayList<Integer> arrayList = new ArrayList<Integer>();  //Keine anfängliche Kapazität angegeben
ArrayList<Integer> arrayList = new ArrayList<Integer>(3); //Geben Sie die anfängliche Kapazität an
//ArrayList<int> arrayList = new ArrayList<int>();        //Kompilierungsfehler

Warum primitive Typen nicht gut sind

Schauen Sie sich den Inhalt von ArrayList an

ArrayList.class


public class ArrayList<E> extends AbstractList<E> … {
    private static final int DEFAULT_CAPACITY = 10;
    private static final Object[] EMPTY_ELEMENTDATA = {};
    transient Object[] elementData;      //← Aktueller Zustand der ArrayList-Daten
    private int size;
    //Konstrukteur
    public ArrayList(int initialCapacity) {
        if (initialCapacity > 0) {
            this.elementData = new Object[initialCapacity];
        } else if (initialCapacity == 0) {
            this.elementData = EMPTY_ELEMENTDATA;
        }
    }
//Unterlassung

Die Identität von ArrayList war eine praktische Operationsklasse, die sich auf __Object [] __ konzentrierte. Als ArrayList können nur Datentypen vom Typ __Object verwendet werden. __ __ Kann der primitive Typ nicht verwendet werden, da er kein Datentyp ist, der den Objekttyp erbt?

Primitiver Typ

//8 Typen
byte, short, boolean, char, int, long, float, double

Wofür ist die anfängliche Kapazität angegeben?

Was passiert, wenn Sie etwas Neues tun, hinzufügen, abrufen, entfernen?

ArrayList<Integer> arrayList = new ArrayList<Integer>(3);
arrayList.add(new Integer(10); //a
arrayList.add(new Integer(11); //b
arrayList.add(new Integer(12); //c
arrayList.get(1);
arrayList.remove(1);

new.png

Wenn die Anzahl der Elemente die anfängliche Kapazität überschreitet

ArrayList<Integer> arrayList = new ArrayList<Integer>(3);
arrayList.add(new Integer(10); //a
arrayList.add(new Integer(11); //b
arrayList.add(new Integer(12); //c
arrayList.add(new Integer(13); //d

new.png

Wie viel Einfluss hat die Bewegung der Sequenz

Wenn nicht angegeben

ArrayListSample.java


ArrayList<Integer> arrayList = new ArrayList<Integer>();
long array1Start = System.currentTimeMillis();
for(int i=0; i < 10000000;i++) {              //← 10 Millionen
	arrayList.add(new Integer(10));
}
long array1End = System.currentTimeMillis();
System.out.println("Verarbeitungszeit:" + (array1End - array1Start) + " ms");

Ergebnis

Bearbeitungszeit: 6505 ms

Wenn angegeben

ArrayListSample.java


ArrayList<Integer> arrayList = new ArrayList<Integer>(10000000);
long array1Start = System.currentTimeMillis();
for(int i=0; i < 10000000;i++) {               //← 10 Millionen
	arrayList.add(new Integer(10));
}
long array1End = System.currentTimeMillis();
System.out.println("Verarbeitungszeit:" + (array1End - array1Start) + " ms");

Ergebnis

Bearbeitungszeit: 5630 ms

Es gab einen Unterschied von ungefähr 1 Sekunde.

Fazit

Geben Sie für große Kapazitäten die erwartete Kapazität an

Recommended Posts

[Java] Was ist ArrayList?
Was ist java
Was ist Java <>?
Was ist java
Was ist Java-Kapselung?
Was ist Java-Technologie?
Was ist Java API-Java?
[Java] Was ist flatMap?
Was ist Java Assertion? Zusammenfassung.
Was ist eine Java-Sammlung?
[Java] Was ist jaee j2ee?
[Java] Was ist Klassenvererbung?
[Java-Grundlagen] Was ist Klasse?
Was ist Java-Fluchtanalyse?
Was ist JVM (Java Virtual Machine)?
Was ist Thread-sicher (mit Java)
[Java] Was ist die Ausnahme für gleichzeitige Änderungen?
Was ist Cubby?
Was ist null? ]]
Was ist Schlüsselumhang?
Was ist Maven?
Was ist Jackson?
Was ist Selbst
Was ist Jenkins?
Was ist IM-Jonglieren?
Was ist params
Was ist Fassade? ??
Was ist Gradle?
Was ist POJO?
Was ist centOS?
Was ist RubyGem?
Was ist before_action?
Was ist Docker?
Was ist Byte?
Was ist Tomcat?
Was ist eine Klasse in der Java-Sprache (3 /?)
Was ist das beste Lesen von Dateien (Java)
Was ist eine Klasse in der Java-Sprache (1 /?)
Was ist Java und Entwicklungsumgebung (MAC)
Was ist die Hauptmethode in Java?
Was ist Maven Assembly?
Was ist Docker-Compose?
Was ist vue cli
Was ist eine Schnittstelle?
Was ist das Java Servlet / JSP MVC-Modell?
Was ist Rubys Selbst?
Was ist Rubys attr_accessor?
Was ist die Erlaubnis verweigert?
Was ist Instanzsteuerung?
Was ist ein Initialisierer?
Was ist Spring Tools 4?
Was ist ein Operator?
Was ist Guavas @VisibleForTesting?
Was ist ein MVC-Modell?
Was ist eine Anmerkung?
Was ist Gradles Artefakt?
Was ist JPA-Prüfung?