Sobes.tech
Junior — Middle

Welke stappen worden uitgevoerd om een nieuw element aan de ArrayList-structuur toe te voegen?

sobes.tech AI

Antwoord van AI

Bij het toevoegen van een nieuw element aan ArrayList worden de volgende stappen uitgevoerd:

  1. Er wordt gecontroleerd of de huidige interne array (meestal Object[]) groot genoeg is om het nieuwe element op te slaan.
  2. Als er niet genoeg ruimte is, wordt een nieuwe array gemaakt met een vergrote grootte (meestal 50% of 1,5 keer groter), en alle elementen worden daarin gekopieerd.
  3. Het nieuwe element wordt geplaatst op de eerste vrije positie in de interne array.
  4. De teller van de grootte van de lijst (size) wordt verhoogd.

Zo wordt een element meestal toegevoegd:

public boolean add(E e) {
    ensureCapacityInternal(size + 1);  // controleer en vergroot de array
    elementData[size++] = e;            // voeg het element toe en verhoog de grootte
    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); // 50% vergroting
    if (newCapacity - minCapacity < 0)
        newCapacity = minCapacity;
    elementData = Arrays.copyOf(elementData, newCapacity);
}