Olá pessoal, tenho o seguinte código
private static Set<Integer> ex = new HashSet<Integer>();
private static void func(){
ex.add(Integer.valueOf(64));
int c=0;
do{
c=ex.size();
for (Integer in : ex)
if (in>2)
ex.add(in/2);
}while (ex.size()!=c);
}
É o seguinte: tenho um set de integer, nele coloco o valor 64, minha idéia é fazer um loop para que as metades dos valores maiores q 2 contidos no set sejam inseridos no set.
O problema é que ele da o erro de ConcurrentModificationException.
Pelo que andei olhando teria que usar algo com synchronized, tentei alguma coisa mas não mudou nada.
O código é meio idióta, mas tenho que fazer assim.
Alguém tem alguma sugestão de como solucionar essa questão de expandir o conjunto no qual se está iterando?
Grato.
EDIT - Por favor use os tags [ code ] para postar código.