Sobes.tech
Junior — Middle

Que operações ocorrem dentro do ArrayList ao adicionar um elemento no início da coleção, se o array interno não exceder o seu limite atual?

sobes.tech IA

Resposta da IA

Ao adicionar um elemento ao início do ArrayList, se o array interno não exceder a sua capacidade atual, todos os elementos existentes são deslocados uma posição para a direita para liberar espaço para o novo elemento no índice 0. Isto é realizado usando System.arraycopy, que copia os elementos da posição 0 até ao comprimento atual para a posição 1 e seguintes. Após o deslocamento, o novo elemento é escrito no índice 0 e o tamanho da coleção aumenta em 1.

Mais ou menos assim:

// Array interno: elementData
// size - tamanho atual
System.arraycopy(elementData, 0, elementData, 1, size);
elementData[0] = newElement;
size++;

Esta operação tem uma complexidade de tempo O(n), onde n é o número de elementos, pois todos os elementos são deslocados uma posição.

Que operações ocorrem dentro do ArrayList ao… - sobes.tech