Je veux supprimer un élément de HashMap, en appliquant un critère. Considérez ce code :
Set<Foo> set = myMap.keySet();
Iterator<Foo> itr = set.iterator();
while (itr.hasNext())
{
Foo foo = itr.next();
if (foo.toString().length() < 3) {
myMap.remove(foo); //remove the pair if key length is less than 3
}
}
J'obtiens donc une ConcurentModificationException car, pendant l'itération, je modifie le HashMap. Que dois-je faire ? Existe-t-il un autre moyen de rechercher mes critères et d'exécuter la commande remove à la fin afin d'éviter cette exception ?