[Java lista] ConcurrentHasMap és elem eltávolítása
András Csányi
sayusi.ando at gmail.com
2009. Jún. 3., Sze, 11:30:08 CEST
Sziasztok!
Eléggé kezdő a kérdésem - lévén én is az vagyok ;) , de nem találok rá választ.
A feladat lényege, hogy a kollekcióban tárolt objektumoknak megnézem
egy tulajdonságát(meddig érvényesek) és ha ez lejárt, akkor kikerül a
kollekcióból.
Van egy ConcurrentHashMap, amelyen így megyek végig:
Iterator i = listOfPlanets.keySet().iterator();
while(i.hasNext()) {
Planet pl = (Planet) i.next();
if(pl.getDeadTime() < this.getUnixtime()) {
//listOfPlanets.remove(pl, pl);
}
}
Az ifen belül ki kellene szednem a kollekcióból az adott objektumot.
De nem ismerem a kulcsát.
Van két metódus amellyel ezt meg tudom tenni:
remove(Object key, Object value);
remove(Object key);
A kérdésem lényege, hogy hogyan tudom kibányászni ebből a szép kis
kollekcióból, hogy egy benne lévő objektumnak mi a kulcsa? Vagy ennek
másképpen kellene nekimenni?
Néztem a neten is és ebben futottam:
http://www.java2s.com/Tutorial/Java/0140__Collections/RemovingKeyValuePairspublicObjectremoveObjectkey.htm
A 9. 25. 18. pont erről szól, csak nincsen kidolgozva. Máshol egyelőre
nem találtam megoldást.
Előre is köszönöm!
--
- -
-- Csanyi Andras -- http://sayusi.hu -- Sayusi Ando
-- "Bízzál Istenben és tartsd szárazon a puskaport!".-- Cromwell
További információk a(z) Javalist levelezőlistáról