[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