Hirdetés

Új hozzászólás Aktív témák

  • PandaMonium

    őstag

    válasz plaschil #5365 üzenetére

    Az x.keySet() -el csupán a kulcsokról kapsz egy Set-et, nem pedig a teljes kulcs-érték pár listáról.
    A teljes kulcs-érték pár készletet az x.entrySet() metódussal tudod lekérni és utána végig tudsz rajta menni egy for/foreach loop-al valahogy így:
    for(Entry<String, Integer> e : x.entrySet()){
    if(e.getValue() == 0){
    String kulcs = e.getKey();
    // Itt csinálj valamit a kulccsal
    }
    }

    Személy szerint én viszont az iterátorokat javasolnám, ugyanis ha egy entry set-en vagy listán keresztül mész épp egy foreach loop-al ConcurrentModificationException-t ha törölni próbálsz a listából egy elemet. Ilyen szempontból jók az iterátorok amelyek képesek megjelölni az objektumokat törlésre és amint vége az iterálásnak az elemeket valóban ki is törli.
    Ez a fajta megoldás sem sokkal bonyolultabb:
    Iterator<Entry<String, Integer>> iterator = x.entrySet().iterator();
    while(iterator.hasNext()){
    Entry<String, Integer> e = iterator.next();
    if(e.getValue() == 0){
    // Példa a törlésre
    iterator.remove();
    }
    }

    What I cannot create, I do not understand

Új hozzászólás Aktív témák