Problema com FORECH, ARRAYLIST, REMOVER.  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
analyser
JavaEvangelist
[Avatar]

Membro desde: 26/02/2007 09:31:49
Mensagens: 329
Offline

Olá galera estou com um problema, tenho um ArrayList que armazena referências aos objetos de uma classe javabeans, onde tenho um nome cadastrado em cada objeto.

Bem quando faço o laço FORECH e excluo um nome dado como parametro ele remove apenas o primeiro que achar na lista, depois sai do foreach.

Bem, como faço para ele não sair, remover todos os nomes que dei como que é igual ao que passei como parametro??

Abraços

Analyser
thiago.correa
GUJ Master
[Avatar]

Membro desde: 26/03/2006 18:54:30
Mensagens: 1861
Offline

Bom, sem o código fica difícil, mas eu diria que você está usando o comando 'break' para sair do laço, se você removê-lo deve sanar o seu problema

---
"Se não puder ajudar, atrapalhe, afinal de contas o importante é participar!"
Thiago
[MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Provavelmente o seu foreach está lançando uma ConcurrentModificationException.

O fato é que você não pode excluir de uma lista um elemento, enquanto está percorrendo essa mesma lista num for each, ou uma exceção será lançada.

Para contornar esse problema, use um Iterator. Assim, ao invés de:



Faça:



O que acontece é que o for each cria um iterador implicitamente. E quando você chama remove, você está removendo um elemento da lista, sem que o iterador tome conhecimento. Quando o iterador percebe isso (após o primeiro objeto já ter sido removido), ele lança a exceção.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
skrath
Smalltalk

Membro desde: 16/08/2007 23:28:56
Mensagens: 2
Offline

Estava com um problema parecido aqui no trabalho.
Sua dica foi muito útil Vinicius.

Obrigado.

Fred Neves
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team