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