Heim > Java > JavaBase > Hauptteil

So initialisieren Sie die ArrayList-Sammlung in Java

王林
Freigeben: 2019-11-26 15:13:01
nach vorne
2661 Leute haben es durchsucht

So initialisieren Sie die ArrayList-Sammlung in Java

Übersicht

ArrayList ist eine nicht threadsichere Sammlung, die auf dynamischen Arrays basiert. Die Elemente von ArrayList können leer und wiederholt sein Gleichzeitig wird es geordnet (die Reihenfolge des Lesens und Speicherns ist konsistent).

ArrayList erbt AbstractList und implementiert List, RandomAccess (kann schnell aufgerufen werden), Cloneable (kann geklont werden), java.io.Serializable (unterstützt Serialisierung)

Weitere kostenlose Themen Videoempfehlungen: Java-Video

Es gibt drei Möglichkeiten, ArrayList zu initialisieren:

1. Keine Parameterkonstruktion, die Standardlänge ist 10, ist die am häufigsten verwendete Initialisierungsmethode:

/**
  * Constructs an empty list with an initial capacity of ten.
  */
  public ArrayList() {
      this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;
  }
Nach dem Login kopieren

Zu diesem Zeitpunkt können wir dem Quellcode entnehmen, dass er nur eine Codezeile enthält: this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA Die definierten DEFAULTCAPACITY_EMPTY_ELEMENTDATA können im Quellcode gefunden werden:

/**
  * Shared empty array instance used for default sized empty instances. We
  * distinguish this from EMPTY_ELEMENTDATA to know how much to inflate when
  * first element is added.
  */
 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};
Nach dem Login kopieren

Wie Sie den Kommentaren entnehmen können, definiert der Quellcode ein leeres Array als Standardgröße und bestimmt, um wie viel das Array erweitert werden soll, wenn das erste Element vorhanden ist Dieser Absatz wurde hinzugefügt. Die Logik wird im nächsten Abschnitt „Elemente hinzufügen“ erläutert.

2. Geben Sie die Initialisierungslänge an:

/**
  * Constructs an empty list with the specified initial capacity.
  * @param  initialCapacity  the initial capacity of the list
  * @throws IllegalArgumentException if the specified initial capacity
  *         is negative
  */
  public ArrayList(int initialCapacity) {
     if (initialCapacity > 0) {
         this.elementData = new Object[initialCapacity];
     } else if (initialCapacity == 0) {
         this.elementData = EMPTY_ELEMENTDATA;
     } else {
         throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity);
     }
  }
Nach dem Login kopieren

3. Verwenden Sie ein Collection-Objekt, um

/**
     * Constructs a list containing the elements of the specified
     * collection, in the order they are returned by the collection's
     * iterator.
     *
     * @param c the collection whose elements are to be placed into this list
     * @throws NullPointerException if the specified collection is null
     */
    public ArrayList(Collection<? extends E> c) {
        elementData = c.toArray();
        if ((size = elementData.length) != 0) {
            // c.toArray might (incorrectly) not return Object[] (see 6260652)
            if (elementData.getClass() != Object[].class)
                elementData = Arrays.copyOf(elementData, size, Object[].class);
        } else {
            // replace with empty array.
            this.elementData = EMPTY_ELEMENTDATA;
        }
    }
Nach dem Login kopieren

zu erstellen Tutorials:Einführung in die Java-Entwicklung

Das obige ist der detaillierte Inhalt vonSo initialisieren Sie die ArrayList-Sammlung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage