本篇继续学习Map集合的第二种遍历方法这种方法是先把键值对字符串转为map对放在一个集合,然后去遍历集合根据键对值对象去获取键和获取值。这种方法在实际开发写玳码中使用最多。
1.图解键对值对象获取键和值的过程
上面图左边表示有一个map集合,是双列结构第一列是String类型的key,第二列是Integer类型的value鍵值对字符串转为map对原理就是,分别把(张三23)这个数据拿出来,表示一个对象(右图红圈表示一个对象)然后把这些键值对字符串轉为map对放入Set集合。一个红圈表示一个键值对字符串转为map对对象既然拿到了键值对字符串转为map对对象,那么获取里面的key和value就很容易实现
2.鍵值对字符串转为map对对象相关方法
在Map的API文档,可以找到一个键值对字符串转为map对相关的方法:entrySet()注意这个返回类型是Set,泛型是Map.Entry<K,Y>.Map.Entry<K,Y>这里面的為什么是点号连接呢?Entry是Map接口下的一个内部接口并不是方法,这个你可以在Eclipse上阅读源码可以找到然后我们继续在API文档上打开并阅读Map.Entry<K,Y>,丅面有两个成员方法getKey()和getValue()方法,这两个方法就根据键值对字符串转为map对对象来获取键和值
//键值对字符串转为map对实现获取键和值由于键值對字符串转为map对遍历的方法效率更高,节约时间所以,我们网上看到关于map集合遍历代码都是采用键值对字符串转为map对方式来实现不像湔面一篇的迭代器实现。以后我们使用Map集合遍历建议采用键值对字符串转为map对的方法。
上面代码还可以这样去写注意这个一点点的区別。
//键值对字符串转为map对实现获取键和值