1
resposta

Porque usa o _proximapocisao-- depois de sair do For

NaInsira aqui a descrição dessa imagem para ajudar na acessibilidade

fiquei preso nessa parte e nao entendi muito bem o porque usamos esse _proximaPosicao-- ao final do remover, igual quando usamos ele com "++" em adicionar

1 resposta

Por exemplo, se tivermos itens como um Array com 10 elementos:

[item0,item1,item2,item3,item4,item5,null,null,null,null]

Nessa caso, proximaPosicao seria 6, porque é o primeiro elemento vago.

proximoIndice:                        ↓
[item0,item1,item2,item3,item4,item5,null,null,null,null]

Se quisermos remover o item3, o código no primeiro vai procurar o elemento item3 e salvar a posição em indiceItem, no caso indiceItem = 3. No segundo for, ele vai copiar os itens depois uma posição para trás, ficando:

proximoIndice:                        ↓
[item0,item1,item2,item4,item5,item5,null,null,null,null]

Nessa momento o proximaPosicao ainda está apontando para o indice 6, o primeiro null. Então é subitraído 1 para apontar para o indice 5 ( o segundo item5).

proximoIndice:                   ↓
[item0,item1,item2,item4,item5,item5,null,null,null,null]

E depois remover esse item.

proximoIndice:                  ↓
[item0,item1,item2,item4,item5,null,null,null,null,null]

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software