关于map集合的遍历三种方法(keySet()、values()、entrySet())

10 篇文章 0 订阅

在 Collection 接口中,可以使用 iterator()方法为 Iterator 接口实例化,并进行输出操作,但是在 Map 接口中并没有此方法的定义,所以 Map 接口本身是不能直接使用 Iterator 进行输出的。
因为 Map 接口中存放的每一个内容都是一对值,而使用 Iterator 接口输出的时候,每次取出的都实际上是一个完整的对象。
三种方法:

  1. keySet()
    对Map集合遍历,需要先调用keySet()方法将map集合的键转换为set集合,然后遍历set集合通过get()方法通过键找到对应的值
    在这里插入图片描述
    在这里插入图片描述
  2. Set<Map.Entry<K,V>> entrySet()
    将Map接口变为Set集合,对set集合进行遍历
    在这里插入图片描述
    到底什么是 Map.Entry 呢?
    Map.Entry 本身是一个接口。此接口是定义在 Map 接口内部的,是 Map 的内部接口。
    此内部接口使用 static 进行定义, 所以此接口将成为外部接口。
    实际上来讲,对于每一个存放到 Map 集合中的 key 和 value 都是将其变为了 Map.Entry 并且将 Map.Entry 保存在了 Map 集合之中。
    在这里插入图片描述
    在这里插入图片描述
    以上的代码一定要记住,Map 集合中每一个元素都是 Map.Entry 的实例,只有通过 Map.Entry 才能进行 key 和 value 的分离操作。
    虽然在 JDK 1.5 之后也可以使用 foreach 完成同样的输出,只是这样的操作基本上不使用。
  3. Collection values() 将全部的 value 变为 Collection 集合,如果只想遍历值,可以使用此方法,但是很少用
    在这里插入图片描述
阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鸡嘎嘎叫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值