Porque quando eu coloco pra remover o elemento 1 do ArrayList ele nao é removido ? ele remove o elemento [2]
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Porque quando eu coloco pra remover o elemento 1 do ArrayList ele nao é removido ? ele remove o elemento [2]
Olá, Gabi. Então o que acontece é que os índices e o tamanho do ArrayList são atualizados após o uso do remove().
Melhor explicando, no início temos um ArrayList de 5 elementos na seguinte ordem:
[ cliente, cc1, cp1, cc2, cp2]
Realizamos o lista.remove(0), que removerá o elemento de índice 0, o cliente. Após a execução desta linha, temos um ArrayList de 4 elementos, na seguinte ordem:
[cc1, cp1, cc2, cp2]
Neste momento, faremos o lista.remove(1), que removerá o elemento de índice 1, que agora é o cp1, não mais o cc1. Retornando um ArrayList assim, com tamanho de 3 elementos, assim como exibido no console também:
[cc1, cc2, cp2]