Exception método remove List

2 respostas
S

Estou tentando remover um item de minha lista e gera esse erro, engraçado é que as vezes
funciona… mas a grande maioria das vezes da esse erro.

Primeiro tentei remover pela descrição do item e ele simplismente não remove, tem vários
exemplos na web que passam a descrição e dizem que funciona.
Quando eu passo o Id do item ai sim ele remove, porém ele lança essa
Exception in thread “main” java.util.ConcurrentModificationException

segue o código

Item item = new Item(); Item itemRemover = new Item(); itemRemover.setId(3); itemRemover.setDescricao("Teste"); itemRemover.setPreco(20.0f); List c; Query q = session.createQuery("from Item"); c = q.list(); Iterator it = c.iterator(); while(it.hasNext()){ item = (Item)it.next(); if(item.getDescricao().equals(itemRemover.getDescricao())){ c.remove(itemRemover.getId()); System.out.println(c.size()); } System.out.println(item.getDescricao()); }
Alguém ai já passou por isso ?

2 Respostas

J

É porque você está fazendo uma iteração com o Iterator e tentando remover o objeto da lista ao mesmo tempo…

Tente usar o remove() do Iterator…

S

Valeu era isso mesmo.

Criado 7 de dezembro de 2006
Ultima resposta 7 de dez. de 2006
Respostas 2
Participantes 2