Map的4种遍历方法
1.直接使用for循环
Map<Integer,String>map=newHashMap<>();for(inti=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()){Integerkey=itemMap.getKey();Stringvalue=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();Integerkey=item.getKey();Stringvalue=item.getValue();System.out.println(key+"----"+value);}
通过代码可以看出,他在map.entrySet()取出集合后有调用了iterator()生成一个集合 再通过迭代器中的方法进行循环,再循环中取出数据
3.遍历map的键 根据键的值取出value值
Set<Integer>keyList=map.keySet();for(intitem:keyList){Stringvalue=map.get(item);System.out.println(item+"----"+value);}
通过代码可以看出,使用map.keySet()查询出所有键的集合,遍历循环集合再取出值
4.既然可以遍历键 则就可以遍历值
Collection<String>values=map.values();for(Stringvalue:values){System.out.println(value);}
通过上面得方法 可以调用values方法获取值得集合,但是这个得局限性就是不能根据值获取键 因此,这个用的也不是很多,他有一定得局限性。
如果你需要同时获取键和值,则使用前面三种遍历方式,再其中三种遍历方式种,推荐使用第一种使用for循环进行遍历。