全部版块 我的主页
论坛 数据科学与人工智能 IT基础 JAVA语言开发
1367 1
2019-09-10

CDA数据分析:数据科学、人工智能从业者的在线大学。
数据科学(Python/R/Julia)数据分析、机器学习、深度学习 Q群:874447702

今天我们来说一下比较基础的一个面试问题 map 、list、set的遍历问题。今天我们重点了解下map的遍历问题也是面试中最常遇到的问题:

Map的遍历

Map map=new HashMap;

方法一(同时遍历键和值):

在for-each循环中使用entries来遍历这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。

注意:for-each循环在Java 5中才被引入,所以该方法只能应用于java 5或更高的版本中。 并且假如遍历的是一个空的map对象,for-each循环将抛出NullPointerException,因此在遍历前你总是应该检查空引用。

方法二(只遍历键或值):

//只遍历map中的键

//遍历map中的值

如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet。

该方法比方法一种entrySet遍历在性能上稍好(快了10%),而且代码更加干净。

方法三(同时遍历键和值,效率低)

使用该方法虽然写起来更加简洁但是却有严重的效率问题,及其不推荐使用,因为从键取值是耗时的操作。

所以进行map遍历操作时假如是java5以上时需要键和值都需要遍历的情况下选用方法一,只需要键或值一个遍历时优先使用方法二。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-9-12 14:34:12
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群