Java中遍历Map集合的3种方式

Java中遍历Map集合有以下3种方式

方法一:通过keySet()方法遍历map的key,再根据key获得value,最常用的方式。

for (String key : map.keySet()) {
          
   
    String value = map.get(key);
    System.out.println("key为:" + key + ", value为:" + value);
}

方法二:通过entrySet()方法,得到一个Entry集合,集合中每个元素代表一个k-v键值对,集合容量大的时候推荐使用。

for (Map.Entry<String, String> entry : map.entrySet()) {
          
   
    System.out.println("key为:" + entry.getKey() + ", value为:" + entry.getValue());
}

方法三:通过iterator迭代器遍历map

Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()){
          
   
    Map.Entry<String, String> entry = iterator.next();
    System.out.println("key为:" + entry.getKey() + ", value为:" + entry.getValue());
}

实例代码:

public class MapTest {
          
   
    public static void main(String[] args) {
          
   
        Map<String, String> map = new HashMap<>();
        for (int i = 0; i < 5; i++){
          
   
            map.put(String.valueOf(i), String.valueOf(i)+"号选手");
        }
        // 方法一:通过keySet()方法遍历map的key,再根据key获得value
        for (String key : map.keySet()) {
          
   
            String value = map.get(key);
            System.out.println("key为:" + key + ", value为:" + value);
        }
        // 方法二:通过entrySet()方法,得到一个Entry集合,集合中每个元素代表一个k-v键值对
        for (Map.Entry<String, String> entry : map.entrySet()) {
          
   
            System.out.println("key为:" + entry.getKey() + ", value为:" + entry.getValue());
        }
        // 方法三:通过iterator迭代器遍历map
        Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
        while (iterator.hasNext()){
          
   
            Map.Entry<String, String> entry = iterator.next();
            System.out.println("key为:" + entry.getKey() + ", value为:" + entry.getValue());
        }
    }
}

运行结果:

key为:0, value为:0号选手
key为:1, value为:1号选手
key为:2, value为:2号选手
key为:3, value为:3号选手
key为:4, value为:4号选手
经验分享 程序员 微信小程序 职场和发展