Junior — Middle
Welche Schritte werden ausgeführt, um ein neues Element in die ArrayList-Struktur hinzuzufügen?
sobes.tech KI
Antwort von AI
Beim Hinzufügen eines neuen Elements zu ArrayList werden die folgenden Schritte ausgeführt:
- Es wird überprüft, ob das aktuelle interne Array (normalerweise Object[]) groß genug ist, um das neue Element aufzunehmen.
- Wenn nicht genügend Platz vorhanden ist, wird ein neues Array mit vergrößerter Größe (normalerweise um 50% oder 1,5 mal größer) erstellt, und alle Elemente werden hineinkopiert.
- Das neue Element wird an die erste freie Position im internen Array gesetzt.
- Der Zähler für die Größe der Liste (size) wird erhöht.
So sieht das Hinzufügen eines Elements typischerweise aus:
public boolean add(E e) {
ensureCapacityInternal(size + 1); // Überprüfung und Erweiterung des Arrays
elementData[size++] = e; // Hinzufügen des Elements und Erhöhung der Größe
return true;
}
private void ensureCapacityInternal(int minCapacity) {
if (minCapacity - elementData.length > 0)
grow(minCapacity);
}
private void grow(int minCapacity) {
int oldCapacity = elementData.length;
int newCapacity = oldCapacity + (oldCapacity >> 1); // Erhöhung um 50%
if (newCapacity - minCapacity < 0)
newCapacity = minCapacity;
elementData = Arrays.copyOf(elementData, newCapacity);
}