é possivel remover elementos de um objeto depois de ja estar iterando sobre ele?
tenho o seguinte:
for(Strings:listaceps.keySet())
em determinados casos, gostaria de remover elementos do “listaceps”, baseado em alguns criterios. e continuar o loop sem tais elementos (para agilizar o loop).
você quer dizer, por exemplo, percorrer uma fila e ir desenfileirando os objetos no próprio for, para economizar instruções? se for isso, é possível sim, é igual incrementar ou decrementar um contador dentro da condição do próprio laço, ex.:
inti=0;while(i++< 10) faz algo;
Flavio_Almeida
Para remover um elemento, o enhanced-loop não resolve. Você só conseguirá remover usando um Iterator. Ele é usado por debaixo dos panos pelo enhanced-loop, mas sem disponibilizar o método remove.
Map<String,String>cepEndereco=newHashMap<String,String>();cepEndereco.put("11111111","rua a");cepEndereco.put("22222222","rua b");cepEndereco.put("33333333","rua c");Iterator<Entry<String,String>>it=cepEndereco.entrySet().iterator();while(it.hasNext()){Entry<String,String>entry=it.next();if(entry.getKey().equals("22222222")){it.remove();}else{// faça o que você quiser }}// agora, usamos o enhanced-for, apenas para leitura.for(Stringchave:cepEndereco.keySet()){System.out.println(chave);}