1、keySet 2、Map.entrySet 大量数据较快,常用 3、Iterator 4、map.values() 不常用
代码语言:javascript复制public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(1, "五菱宏光");
map.put(3, "奥迪");
map.put(2, "宝马");
//1、使用keySet遍历
for (Integer key : map.keySet()) {
String value = map.get(key);
System.out.println(key " = " value);
}
//2、使用 Map.entrySet 遍历
for (Map.Entry<Integer, String> entry : map.entrySet()) {
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println(key " = " value);
}
//如果是jdk1.8及以上,可以使用lambda表达式
map.forEach((key, value) -> {
System.out.println(key " = " value);
});
//3、Iterator
Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Integer, String> entry = it.next();
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println(key " = " value);
}
//4、通过Map.values()遍历所有的value,但不能遍历key
for (String value : map.values()) {
System.out.println("value: " value);
}
}