Ü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; }
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 = {};
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); } }
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; } }
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!