[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