[Java lista] ConcurrentHasMap és elem eltávolítása
Tamás Magyar
magyusz at gmail.com
2009. Jún. 3., Sze, 15:15:21 CEST
> 2009/6/3 Tamás Magyar <magyusz at gmail.com>
> Ismered a kulcsát: pl, de az i.remove() elegánsabb (bár itt mivel
> concurrent, nem dobna ConcurrentModificationException-t).
2009/6/3 Zoltan Arnold NAGY <Zoltan.Nagy at sun.com>:
> csak egy megjegyzes: a remove(key, value) ConcurrentMap eseteben atomic
> muvelet, igy azt
> is hasznalhatod nyugodtan, szerintem :)
2009/6/3 Zsombor <gzsombor at gmail.com>:
> Ennek semmi köze a ConcurrentHashMap-séghez. Bármely Set-ből vagy Map-ből
> lehet törölni az iterátora segítségével.
Bár szerintem nagyon nehéz félreérteni amit írtam (és nem kezdők
értették félre), úgy látszik az az 5 szónyi utalás pontosítás (a map
remove függvénye sem) hiányzott a zárójeles rész végéből, hogy ne
lehessen belekötni, de inkább leírom másképp:
Elegánsabb az i.remove(), de itt mivel ConcurrentHashMap -ről van szó,
a listOfPlanets.remove(...) sem dobna
ConcurrentModificationException-t.
Magyusz
További információk a(z) Javalist levelezőlistáról