Map的4种遍历方法
Map的遍历方法
1.直接使用for循环
Map<Integer, String> map = new HashMap<>(); for (int i= 1;i<=5;i++){ map.put(i,"第"+i); } //1.第一种遍历 Set<Map.Entry<Integer, String>> entries = map.entrySet(); for (Map.Entry<Integer, String> itemMap: map.entrySet()) { Integer key = itemMap.getKey(); String value = itemMap.getValue(); System.out.println(key +"----"+value); }复制代码
通过map.entrySet()我们可以知道返回的对象,我们对这个集合对象进行遍历,用getKey取出他的键 用getValue取出他的值。(我在开发中会倾向于使用这种遍历方法)
2.使用iterator 迭代器
Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<Integer, String> item = iterator.next(); Integer key = item.getKey(); String value = item.getValue(); System.out.println(key +"----"+value); }复制代码
通过代码可以看出,他在map.entrySet()取出集合后有调用了iterator()生成一个集合 再通过迭代器中的方法进行循环,再循环中取出数据
3.遍历map的键 根据键的值取出value值
Set<Integer> keyList = map.keySet(); for (int item : keyList) { String value = map.get(item); System.out.println(item +"----"+value); }复制代码
通过代码可以看出,使用map.keySet()查询出所有键的集合,遍历循环集合再取出值
4.既然可以遍历键 则就可以遍历值
Collection<String> values = map.values(); for (String value : values) { System.out.println(value); }复制代码
通过上面得方法 可以调用values方法获取值得集合,但是这个得局限性就是不能根据值获取键 因此,这个用的也不是很多,他又一定得局限性
如果你需要同时获取键和值,则使用前面三种遍历方式,再其中三种遍历方式种,推荐使用第一种 使用for循环进行遍历。
作者:又菜又想玩的XXX
链接:https://juejin.cn/post/7020988014088159246