Problemas com ConcurrentModificationException

3 respostas
L

Pessoas, alguem sabe o porque desse erro??

se puderem me ajudar seria de grande ajuda!!!

abracos!!

public static void main(String[] args){
		
		Set pessoas = new TreeSet();
		
		pessoas.add(new Pessoa("maria", "123", 12,12));
		pessoas.add(new Pessoa("maria", "1234", 13,12));
		pessoas.add(new Pessoa("maria", "12345", 14,12));
		pessoas.add(new Pessoa("maria", "123456", 15,12));
		pessoas.add(new Pessoa("maria", "1234567", 16,12));
		
		for(Iterator it = pessoas.iterator(); it.hasNext();){
			
			
			pessoas.remove(it.next());
			
		}

3 Respostas

lina

Oi,

Você está manipulando a lista e alterando um valor sobre ela. Isso não pode acontecer, dude.

Tchauzin!

pmlm

Podes remover directamente do iterator.

for(Iterator it = pessoas.iterator(); it.hasNext();){  
    it.next ();
    it.remove();
}
carolino

ConcurrentModificationException ocorre quando você está iterando em cima de uma lista

e ao mesmo tempo está tentando remover algum de seus elementos…

A primeira vez que você entrou no seu for

sua lista de pessoas tinha 5 elementos, e depois que você removesse um elemento

você passaria a ter 4. É exatamente isso que o java não deixa você fazer…

Criado 7 de fevereiro de 2013
Ultima resposta 8 de fev. de 2013
Respostas 3
Participantes 4