Duvida com Collection List - Exception ao remover

1 resposta
analyser

Olá galera estou com um problema tem um ArrayList que quando remove um item quando existe apenas 1 na lista ele gera uma Exception

Exception in thread main java.util.ConcurrentModificationException

at java.util.AbstractList$Itr.checkForComodification(Unknown Source)

at java.util.AbstractList$Itr.next(Unknown Source)

at Agenda.removerContato(Agenda.java:114)

at Agenda.controladora(Agenda.java:63)

at Agenda.main(Agenda.java:28)

segue o código do método

public void removerContato(String nome){
		boolean validador = false;
		boolean removerTodos = false;
		
		int op = Integer.parseInt(JOptionPane.showInputDialog("O que deseja? " +
				"\n1. Remover Todos Com o Nome: " + nome +
				"\n2. Remover Um a Um"));
		if(op == 1){
			removerTodos = true;
		}
		//for para percorrer a lista
		for(Contatos aux : lista){
			if(aux.getNome().equals(nome)){
				validador = true;
				
				if(removerTodos){
					lista.remove(aux);
				}
				else{
					int opcao = JOptionPane.showConfirmDialog(null, "Remover o Contato Abaixo?" +
							"\nNome: " + aux.getNome() +
							"\nSobreNome: " + aux.getSobreNome() +
							"\nEndereço: " + aux.getEndereco() +
							"\nTelefone: " + aux.getTelefone() +
							"\nData de Nascimento: " + aux.getDataNascimento());
					//Se a opção for "YES"
					if(opcao == 0){
						System.out.println("Vou remover");
							lista.remove(aux);						
					}
				}
				continue;
			}
		}
		//Se não existe o contato
		if(!validador){
			JOptionPane.showMessageDialog(null, "Contato não Encontrado");
		}
	}

Valew galera

1 Resposta

marcosbrandao

Não sei se minha resposta vai estar correta, mas acho que você nao pode fazer uma iteração com uma lista, e modifica-la na mesma iteração.

Criado 24 de setembro de 2007
Ultima resposta 24 de set. de 2007
Respostas 1
Participantes 2