众妙之门

业精于勤,荒于嬉;行成于思,毁于随

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
public static void main(String[] args) {
        HashMap<String, String> testMap = new HashMap<>();
        for (int i = 0; i < 10; i++) {
            testMap.put("a" + i, "b" + i);
        }
        //方式一 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。
        for (Map.Entry<String, String> entry : testMap.entrySet()) {
            System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
        }

        //方法二 在for-each循环中遍历keys或values。
        //遍历map中的键
        for (String key : testMap.keySet()) {
            System.out.println("Key = " + key);
        }
        //遍历map中的值
        for (String value : testMap.values()) {
            System.out.println("Value = " + value);
        }

        //方法三使用Iterator遍历
        //使用泛型
        Iterator<Map.Entry<String, String>> entries1 = testMap.entrySet().iterator();
        while (entries1.hasNext()) {
            Map.Entry<String, String> entry = entries1.next();
            System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
        }
        //不使用泛型, 可以在遍历时调用iterator.remove()来删除entries
        Iterator entries2 = testMap.entrySet().iterator();
        while (entries2.hasNext()) {
            Map.Entry entry = (Map.Entry) entries2.next();
            String key = (String) entry.getKey();
            String value = (String) entry.getValue();
            System.out.println("Key = " + key + ", Value = " + value);
        }
    }

 

posted on 2019-01-20 15:57  xuanm  阅读(187)  评论(0编辑  收藏  举报