map的两种遍历方式是什么

发布时间 2023-04-06 14:53:44作者: 可爱的小锋

学了Map后,我们都知道Map有两种遍历方式,keySet遍历个entrySet遍历,

这里简单介绍一下这两种遍历方式。

首先对于一个Map来说,右key列和value列组成,想遍历这个Map,有两种选择

第一种keyset的想法是先得到其key列,

使用Map的get(key)方法来获取其对应的值,如下图:

image.png

对应的代码是:

image.png

第二种思想是这样的,想办法得到Key和Value的映射关系,再从这个关系中得到对应的key和value值,也就是第二种遍历方式,entrySet

如图:
image.png

对应的代码是:
image.png

以上就是Map的两种遍历方式,希望对大家有帮助

这里面顺便介绍下Map.Entry的结构
image.png

Map.Entry Entry是一个Map的内部接口,等着Map的子类对象来实现它,

子类对象怎么实现呢?使用内部类的形式,这个内部类通过实现Map.Entry的接口

实现其getKey和getValue方法,完成自己的遍历方法,最后map的子类对象再通过

EntrySet方法将这个内部类对象返回,所有有了
image.png