1
resposta

Remover mais elemento que existe

se minha lista estiver vazia e eu tentar remover eu tomo uma execption: Exception in thread "main" java.lang.Exception: Index: 0, Size: 0 como posso em vez da exception exibir que a lista estar vazia?

 public Integer remove() {
        Integer remove = numeros.remove(0);
        numeros.forEach(System.out::println);
        return remove;
1 resposta

Olá Bruno, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

Para evitar que uma exceção seja lançada ao remover um elemento de uma lista vazia, podemos utilizar o método isEmpty() do ArrayList, que é usado para verificar se o ArrayList está vazio, ou seja, se não contém nenhum elemento. Ele retorna um valor booleano: true se o ArrayList estiver vazio e false se ele contiver elementos.

Abaixo, um exemplo prático do uso deste método:

import java.util.ArrayList;

public class ExemploArrayList {
    public static void main(String[] args) {
        ArrayList<String> lista = new ArrayList<>();

        System.out.println("Lista vazia? " + lista.isEmpty() + "\n");
        lista.add("Uva");
        lista.add("Banana");
        lista.add("Laranja");

        System.out.println("Lista vazia? " + lista.isEmpty()); 
    }
}

No exemplo acima, criamos um ArrayList chamado lista e verificamos se ele está vazio usando o método isEmpty(). Como o ArrayList foi criado sem adicionar nenhum elemento, o resultado da primeira verificação é true. Em seguida, adicionamos algumas strings ao ArrayList e verificamos novamente se está vazio, o que resulta em false, já que agora contém elementos.

Voltando ao seu cenário, você pode adicionar uma verificação de lista vazia antes de chamar o método remove(0) para garantir que a lista não esteja vazia, como mostro abaixo:

public Integer remove() {
    if (numeros.isEmpty()) {
        System.out.println("Lista vazia.");
        return null; 
   }

    Integer remove = numeros.remove(0);
    numeros.forEach(System.out::println);
    return remove;
}

Nesse exemplo, a verificação if (numeros.isEmpty()) é adicionada para verificar se a lista está vazia antes de chamar o método remove(0). Se a lista estiver vazia, uma mensagem é exibida e é retornado um valor nulo (ou qualquer outro valor de retorno adequado ao seu caso).

Lembre-se de adaptar o código conforme necessário para se adequar ao contexto da sua implementação.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. 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