Na
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
Na
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
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]