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号选手