Junior — Middle
Quelles étapes sont suivies pour ajouter un nouvel élément à la structure ArrayList?
sobes.tech IA
Réponse de l'IA
Lors de l'ajout d'un nouvel élément à ArrayList, les étapes suivantes sont effectuées:
- Vérification si le tableau interne actuel (généralement Object[]) est suffisamment grand pour contenir le nouvel élément.
- Si l'espace n'est pas suffisant, un nouveau tableau avec une taille augmentée (généralement de 50% ou 1,5 fois plus grand) est créé, et tous les éléments sont copiés dedans.
- Le nouvel élément est placé à la première position libre du tableau interne.
- Le compteur de taille de la liste (size) est incrémenté.
Voici comment l'ajout d'un élément se fait généralement:
public boolean add(E e) {
ensureCapacityInternal(size + 1); // vérification et extension du tableau
elementData[size++] = e; // ajout de l'élément et augmentation de la taille
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); // augmentation de 50%
if (newCapacity - minCapacity < 0)
newCapacity = minCapacity;
elementData = Arrays.copyOf(elementData, newCapacity);
}