一、Map和遍历概念
Map是Java中常用的一种集合类型,它存储键值对,类似于字典。遍历Map可以获取其中的所有键和值,也可以只获取某些特定的键值对。在Java中有多种遍历Map的方式,本文将对这些方式进行详细介绍。
二、使用entrySet遍历Map
entrySet方法返回的是一个包含Map中所有键值对的Set集合,遍历时可以使用迭代器或foreach循环。
Map
map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
// 使用迭代器遍历
Iterator
> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry
entry = iterator.next();
System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue());
}
// 使用foreach遍历
for (Map.Entry
entry : map.entrySet()) { System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue()); }
三、使用keySet遍历Map
keySet方法返回的是一个包含Map中所有键的Set集合,通过获取键再获取对应的值来遍历。同样可以使用迭代器或foreach循环。
Map
map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
// 使用迭代器遍历
Iterator
iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String key = iterator.next();
String value = map.get(key);
System.out.println("key:" + key + ",value:" + value);
}
// 使用foreach遍历
for (String key : map.keySet()) {
String value = map.get(key);
System.out.println("key:" + key + ",value:" + value);
}
四、使用values遍历Map
values方法返回的是一个包含Map中所有值的Collection集合,通过遍历Collection获取值来遍历Map。同样可以使用迭代器或foreach循环。
Map
map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
// 使用迭代器遍历
Iterator
iterator = map.values().iterator();
while (iterator.hasNext()) {
String value = iterator.next();
System.out.println("value:" + value);
}
// 使用foreach遍历
for (String value : map.values()) {
System.out.println("value:" + value);
}
五、小结
本文介绍了Java中遍历Map的三种方式:使用entrySet遍历、使用keySet遍历和使用values遍历。其中,使用entrySet遍历是最常用的方式,它可以同时获取键和值,使用起来也比较简洁明了。