1
resposta

Verificar índice do item

Não tenho uma dúvida mas sim um comentário, é interessante verificar se o índice do item é diferente de -1, que acontece se a conta a ser removida não estiver na lista, sem querer aconteceu esse situação aqui comigo e acabou lançando uma exceção.

1 resposta

Olá Matheus, tudo bem?

Obrigada por compartilhar seu comentário sobre a verificação do índice do item em um array. É uma observação muito válida!

Realmente, é importante verificar se o índice do item é diferente de -1 antes de continuar a execução do código. Isso evita que ocorra uma exceção caso a conta a ser removida não esteja na lista.

No exemplo que você mencionou, em um array com 1000 referências de objetos, se descobrirmos que o item está na posição 10, não é necessário continuar percorrendo o array da posição 11 até a posição 1000. Podemos utilizar a instrução break para abandonar o laço de repetição assim que encontrarmos o índice do item. Dessa forma, economizamos processamento e evitamos exceções desnecessárias.

Aqui está o código atualizado com a verificação do índice do item:

public void Remover(ContaCorrente item)
{ 
    int indiceItem = -1;

    for(int i = 0; i < _proximaPosicao; i++)
    { 
        ContaCorrente itemAtual = _itens[i];
                
        if (itemAtual.Equals(item))
        { 
            indiceItem = i;
            break;
        } 
    } 

    if (indiceItem != -1)
    {
        // Remover o item da lista
        for(int i = indiceItem; i < _proximaPosicao - 1; i++)
        {
            _itens[i] = _itens[i + 1];
        } 

        _proximaPosicao--;
        _itens[_proximaPosicao] = null;
    }
}

Dessa forma, se o índice do item for -1, significa que o item não está na lista e nenhum processamento adicional será realizado. Caso contrário, o item será removido corretamente.

Espero ter ajudado! Bons estudos!

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