1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Remover ArrayList java

Galera estou com uma dúvida sobre ArrayList, quero remover um número x de um Array em um laço, mas dar erro já que quando eu removo um elemento de um Array ele acaba diminuindo o tamanho e dando erro no laço.Código simples explicando mais ou menos o erro.

ArrayList<Integer> a = new ArrayList<>();


for (int i = 0; i < 100; i++) {
            a.add(i);

           if(a.get(i)==50){
               a.remove(i);
           }
        }

             //Gostaria de um modo para não da esse erro, sem usar um break;
  • Outra maneira para se resolver o problema é usando uma variável auxiliar para guardar o endereço do valor que você deseja guardar.

    ArrayList<Integer> a = new ArrayList<>();
    
    Integer indexRemover = null;
    for (int i = 0; i < 100; i++) {
                a.add(i);
    
               if(a.get(i)==50){
                  indexRemover = x;
               }
            }
    
    if(indexRemover != null)
    {
        a.remove(indexRemover);
    }

    Caso você tenha que remover múltiplos valores, basta apenas trocar a variável auxiliar por uma array para armazenar os índices. :D

    marceltpo   06 de out de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

4 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags arraylist java ou faça a sua própria pergunta.