参考:https://blog.csdn.net/kyi_zhu123/article/details/52769469
使用
第一种:通过keySet,最常使用
1 | for (String key : map.keySet()) { |
第二种:通过entrySet().iterator()
1 | Iterator<Map.Entry<String, String>> it = map.entrySet().iterator(); |
第三种:通过entrySet() 推荐大容量时使用
1 | for (Map.Entry<String, String> entry : map.entrySet()) { |
第四种:通过map.values()遍历所有的value
1 | for (String v : map.values()) { |
底层原理
HashMap底层中的数组是Entry数组,它是HashMap的内部类,实现了Map.Entry
这个内部接口。这个接口里面定义了一些方法,比如getKey()、getValue()等等,而Entry内部类作为接口实现类实现了这些方法。体现了java的封装性和多态性。