Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Java HashMap key value märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
kevin3220
HV vaatleja

liitunud: 31.10.2011




sõnum 02.08.2013 12:55:27 Java HashMap key value vasta tsitaadiga

Terv,


Selline küsimus, et oleks vaja teada kuidas saab nii et, mul on HashMap kus on olemas:
"Kevin", 10
"Aadu" 0
"nimi", 0

Oleks vaja et jaava teostab kontrolli, vaatb kus value on 0 ja siis eemaldab need listist.

Tänud,

tean, et suhteliselt lihtne asi aga pähkel ei jaga matsu ;(
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 02.08.2013 13:56:05 vasta tsitaadiga

võtad sealt mapist entryseti iteraatori ja käid tsükliga läbi.
http://stackoverflow.com/questions/46898/how-do-i-iterate-over-each-entry-in-a-map

vist keset tsüklit elemente eemaldada ei saa. Ehk siis võid teha uue HashMapi ja lisada sinna ainult need paarid, mille value ei ole 0.

_________________
"Believe you can, believe you can't; either way, you're right." - Henry Ford
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
Viperman
HV vaatleja

liitunud: 11.07.2007




sõnum 02.08.2013 18:53:10 vasta tsitaadiga

Veel üks võimalus oleks võtta Map.Entry Iterator ja selle kaudu vajalikud objektid kustutada kasutades Iterator.remove(). Nii ei pea uut HashMapi tegema.
Muidu Deadlock'il on õigus: HashMapist ei saa keset tsüklit elemente Map.remove() kutsudes eemaldada.
Kommentaarid: 5 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 5
tagasi üles
vaata kasutaja infot saada privaatsõnum
kevin3220
HV vaatleja

liitunud: 31.10.2011




sõnum 03.08.2013 00:11:16 vasta tsitaadiga

Kuidas siis neid väljaspool tsüklit eemalada? Ilma uut tegemata?
tagasi üles
vaata kasutaja infot saada privaatsõnum
degreal
HV veteran

liitunud: 07.01.2002




sõnum 03.08.2013 00:53:18 vasta tsitaadiga

Ise kasutan listide ja mappidega möllamisel Google Guava teeki. Seal stackoverflow lehel näide olemas:


Predicate<Integer> filter = new Predicate<Integer>() {
    public boolean apply(Integer value) {
        return Objects.equal(0, 0);
    }
};

return Maps.filterValues(map, filter );
Kommentaarid: 26 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 24
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Java HashMap key value
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.