JavaにおけるMapのentrySet()の詳細と使い方(mapを巡る4つの方法)

2496 ワード

Entry
Mapに格納されている要素はいずれもキー値ペアであるため、各キー値ペアには必ずマッピング関係が存在する.  MapではEntryの内部クラスを使用してマッピング・アイテムを表します.マッピング・アイテムにはKeyとValue(キー値対キー値のペア、各キー値対、つまりEntry)が含まれています.Map.EntryにはgetKey()とgetValue()メソッドが含まれています.
Iterator> it=map.entrySet().iterator();
    while(it.hasNext()) {
        Map.Entry entry=it.next();
        int key=entry.getKey();
        int value=entry.getValue();
        System.out.println(key+" "+value);
    }

entrySet
entrySetは JAva中キー-値 はい、セット、セットの中のタイプはMap.Entryで、一般的にmap.entrySet()で得ることができます.
  • entrySetはSetインタフェースを実現し、鍵値ペアが格納されている.1つのKは1つのVに対応する.

  • mapを遍歴するための方法.
    Set> entryseSet=map.entrySet();
    
    for (Map.Entry entry:entryseSet) {
    
        System.out.println(entry.getKey()+","+entry.getValue());
    
    }

    すなわちgetKey()によりKが得られ,getValueによりVが得られる.
    keySet
    もう1つはkeySet、keySetはキーの集合で、Setの中のタイプはkeyのタイプです.
    Set set = map.keySet();
    
    for (String s:set) {
    
        System.out.println(s+","+map.get(s));
    
    }

    4つの方法:
    public static void main(String[] args) {
    
        Map map = new HashMap();
        map.put("1", "value1");
        map.put("2", "value2");
        map.put("3", "value3");
      
        //   :    ,    
        System.out.println("  Map.keySet  key value:");
        for (String key : map.keySet()) {
            System.out.println("key= "+ key + " and value= " + map.get(key));
        }
      
        //   
        System.out.println("  Map.entrySet  iterator  key value:");
        Iterator> it = map.entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry entry = it.next();
            System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
        }
      
        //   :  ,       
        System.out.println("  Map.entrySet  key value");
        for (Map.Entry entry : map.entrySet()) {
            System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
        }
    
        //   
        System.out.println("  Map.values()     value,     key");
        for (String v : map.values()) {
            System.out.println("value= " + v);
        }
     }