O que acontece dentro de um array quando o seu tamanho atinge o limite, e por que não aumenta automaticamente?
sobes.tech IA
Resposta da IA
Em Java, os arrays têm um tamanho fixo que é definido na sua criação. Quando um array atinge o seu limite (ou seja, está completamente cheio), ele não pode aumentar automaticamente porque um array é um bloco de memória contíguo com um comprimento fixo.
Se precisar aumentar o tamanho, é necessário criar um novo array de maior tamanho e copiar os dados do antigo para o novo. Isto deve-se ao fato de que a memória para o array é alocada de forma estática, e não é possível alterar o tamanho do bloco já alocado.
Por exemplo, a classe ArrayList usa internamente um array, mas ao atingir o limite, ela cria um novo array de maior tamanho e copia os elementos para lá, garantindo uma expansão dinâmica. No entanto, o array em Java não consegue fazer isso automaticamente.