java中遍历HashMap

HashMap类实现了Map接口,以key-value映射的形式存储数据。假设现在有个HashMap类的对象hashMap,下面介绍遍历它的两种方式。
方式一:用hashMap的keySet方法获取所有键值组成的集合,然后通过遍历键值集合来遍历hashmap。
此方式遍历代码如下:

public class HashMapTraverseTest {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("小张", 39);
        map.put("小李", 17);
        map.put("小王", 34);
        map.put("小赵", 16);
        map.put("小马", 13);
        map.put("小杨", 31);

        //方式一:用keySet()方法
        System.out.println("=============================方式一=============================");
        for (String s : map.keySet()) {
            System.out.println(s + "-" + map.get(s));
        }
    }
}

遍历Set集合时用增强for循环的写法。
运行结果如下:
在这里插入图片描述
方式二:用hashMap的entrySet方法获取所有键值对组成的集合,然后遍历该键值对集合即可。
Map接口中有一个内部接口interface Entry<K,V>,它提供了getKey()、getValue()、entrySet()等方法,一个Entry就代表一个键值对,getKey()方法要返回该键值对的键,getValue()方法要返回该键值对的值,entrySet要返回该map中所有键值对组成的集合。
HashMap类实现了Map接口,它有个静态内部类Node实现了Map接口的内部接口Map.Entry<K,V>,并重写了getKey()、getValue()、entrySet等方法。
hashMap中的每个键值对都对应一个Entry<K,V>对象,entrySet方法就是把hashMap中所有的键值对存到一个Set集合中返回。
此方式遍历代码如下:

public class HashMapTraverseTest {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("小张", 39);
        map.put("小李", 17);
        map.put("小王", 34);
        map.put("小赵", 16);
        map.put("小马", 13);
        map.put("小杨", 31);

        //方式二:用entrySet()方法
        System.out.println("=============================方式二=============================");
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            System.out.println(entry.getKey() + "-" + entry.getValue());
        }
    }
}

运行结果如下:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值