遍历HashMap的各种方式主要有以下几种:
使用Iterator迭代器:使用HashMap的keySet()方法获取键的Set集合,然后使用Iterator迭代器遍历键的Set集合,根据键获取值。
使用forEach循环:使用HashMap的forEach()方法遍历HashMap中的每个键值对,可以使用lambda表达式简化代码。
使用增强for循环:使用增强for循环遍历HashMap中的每个键值对,可以简化代码,但是性能略有损失。
使用EntrySet()方法:使用HashMap的EntrySet()方法获取键值对的Set集合,然后使用Iterator迭代器或增强for循环遍历键值对的Set集合。
以下是这几种方式的具体代码:
使用Iterator迭代器:
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循环:
map.forEach((key, value) -> {
System.out.println("key:" + key + ",value:" + value);
});
使用增强for循环:
for (Map.Entry entry : map.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
System.out.println("key:" + key + ",value:" + value);
}
使用EntrySet()方法:
Set> entrySet = map.entrySet();
for (Map.Entry entry : entrySet) {
String key = entry.getKey();
String value = entry.getValue();
System.out.println("key:" + key + ",value:" + value);
}
这几种方式中,使用Iterator迭代器和forEach循环性能最好,但是forEach循环需要Java 8及以上版本支持。使用增强for循环和EntrySet()方法性能略有损失,但是代码更加简洁。在实际使用中,可以根据具体情况选择合适的方式。