JAVAでMAPを巡るおすすめ方法


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

        // 4. java8 Lambda
        // java8   Lambda     ,        ,      key value,
        //   ,   ,    entrySet,      entrySet   
        map.forEach((key, value) -> {
            System.out.println(key + ":" + value);
        });
        
    }

key、またはvalueのみを取得する場合は、keySetまたはvalues方式を推奨します.
keyとvalueが同時に必要な場合はentrySetを推奨します.
遍歴中に要素を削除する必要がある場合は、Iteratorを使用することを推奨します.
遍歴中に要素を追加する必要がある場合は、新しい要素を一時mapに保存し、遍歴が完了したら、元のmapに一時mapを配置することができます.