[RESOLVIDO]Remover elemento da coleção

2 respostas
wilsontads

Pessoal, tenho a seguinte situação...

for (int i = 0; i < produtos.size(); i++) {
                //produtos.size = 10
                String[] produtoLocal = produtos.get(i);
                if (existProduto(produtoLocal[0])  {
                    //existe 5 produtos
                    produtos.remove(i);
                    
                }
            }

            for (String[] produtoLocal : produtos) {
                //Mesmo passando pelo remove, a variável produtos, continua com 10 itens
            }

Alguém já teve um problema semelhante? sabe por que isto acontece?

2 Respostas

ul1sses

Cria um Iterator da Coleção, então pelo iterator você remove o objeto.

wilsontads

Partindo da sua sugestão, resolvi da seguinte maneira:

for (Iterator<String[]> it = produtos.iterator(); it.hasNext();) { String[] produtoLocal = it.next(); if (existProduct(Integer.parseInt(produtoLocal[0]) { it.remove(); } }

Criado 10 de abril de 2012
Ultima resposta 10 de abr. de 2012
Respostas 2
Participantes 2