Sobes.tech
Junior — Middle

Como é que o tamanho do ArrayList muda ao adicionar elementos sequencialmente até atingir um determinado número

sobes.tech IA

Resposta da IA

Em Java, a classe ArrayList implementa um array dinâmico que aumenta automaticamente o seu tamanho ao adicionar novos elementos, se a capacidade atual estiver cheia.

Inicialmente, o ArrayList é criado com uma certa capacidade (padrão de 10). Quando o número de elementos atinge essa capacidade, o tamanho do array interno é aumentado. Na implementação padrão, o tamanho aumenta aproximadamente em 50% em relação ao atual (ou seja, nova capacidade = capacidade antiga + capacidade antiga / 2).

Isso permite equilibrar os custos de copiar dados e o uso de memória.

Exemplo:

ArrayList<Integer> list = new ArrayList<>();
// Adicionamos elementos, quando o tamanho atingir 10, a capacidade aumentará aproximadamente para 15
for (int i = 0; i < 20; i++) {
    list.add(i);
}