1
resposta

Porque com o add() vai para o fim da lista?

Seguindo o que foi mostrado nos vídeos, no primeiro add() a conta foi gravada no indice 0 e não no final da lista.

1 resposta

Oie Isabela, tudo bem contigo?

Você está falando quando o professor faz esse código aqui?

public void adiciona(Conta ref) {
            this.referencias[0] = ref;
}

Se sim esse método realmente só adiciona na primeira casa da "array", ou seja no indice 0, o único problema disso é que essa "array" não consegue adicionar mais nenhum método, já que esse método "adiciona" sempre vai substituir o valor que estiver no indice 0 pelo novo valor e não colocar depois.

Agora já no segundo exemplo do processor, esse aqui:

 public void adiciona(Conta ref) {
            this.referencias[this.posicaoLivre] = ref;
            this.posicaoLivre++;
 }

Agora o método "adiciona" acima sempre vai colocar o novo valor dentro da próxima "casa livre", ou seja, seguindo essa lógica seria no final da lista.

O método ".add()" de uma "ArrayList" faz algo muito parecido com o que foi mostrado acima, sempre adicionando o novo valor na próxima posição vazia, ou seja, no final da "ArrayList".

Espero ter ajudado!

Se houver qualquer outra dúvida em relação a isso é só mandar mensagem por aqui :)

Bons estudos!