走过路过不要错过的Map的4种遍历方法

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);
}



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循环进行遍历。

 1
 0
 分享
评论图片
评论