java中遍历map的四种方法

1、最常见的并且在大多数情况下也是最可取的遍历方式

  • 键值都需要时使用

603424495d0e0bef0728ebd0216ea05984c.jpg

2、for-each循环中遍历keys或values

  • 通过keySet或values来实现遍历,而不是用entrySet
  • 比entrySet遍历在性能上稍好(快了10%),而且代码更加干净

2371298fd4a422ee94c369a3641247254f7.jpg

3、使用Iterator遍历

  • 可以在遍历时调用iterator.remove()来删除entries,另两个方法则不能(迭代器特性
  • 性能方面看,该方法类同于for-each遍历(即方法二)的性能

(1)使用泛型

d4fe5e5e1673d22ecd8dcf86dd78bf837a7.jpg

(2)不使用泛型

8fe9912b4dab880a8270d4f106e6de59bfa.jpg

4、通过键找值遍历(效率低)

  • 实际上它相当慢且无效率
  • 从键取值是耗时的操作 1、相比,在不同的Map实现中该方法慢了20%~200%
  • FindBugs 会警告这种低效率遍历

ac9c36ab289c0ef4dc34fb4ee66ff9272e3.jpg

转载于:https://my.oschina.net/u/3847203/blog/1829601

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值