阅读 590
Map的4种遍历方法

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);
}
复制代码

image.png

通过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);
}
复制代码

image.png 通过代码可以看出,他在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);
}
复制代码

image.png 通过代码可以看出,使用map.keySet()查询出所有键的集合,遍历循环集合再取出值

4.既然可以遍历键 则就可以遍历值

Collection<String> values = map.values();
for (String value : values) {
    System.out.println(value);
}
复制代码

image.png 通过上面得方法 可以调用values方法获取值得集合,但是这个得局限性就是不能根据值获取键 因此,这个用的也不是很多,他又一定得局限性

如果你需要同时获取键和值,则使用前面三种遍历方式,再其中三种遍历方式种,推荐使用第一种 使用for循环进行遍历。

文章分类
后端
文章标签