遍历HashMap的五种方式:1.使用 Iterator 遍历 HashMap EntrySet。2.使用 Iterator 遍历 HashMap KeySet。3.使用 For-each 循环迭代 HashMap。5.使用 Stream API 遍历 HashMap。4.使用 Lambda 表达式遍历 HashMap。
class Solution{
public static void main(String[] args) {
Map<Integer,String>map=new HashMap<>();
map.put(1,“JAVA”);
map.put(2,“C++”);
map.put(3,“Python”);
map.put(4,“GO”);
map.put(5,“C++”);
map.put(6,“C#”);
map.put(7,“C”);
map.put(8,“Python3”);
map.put(9,“JavaScript”);
}
}
首先向哈希表中放入元素。
1.使用 Iterator 遍历 HashMap EntrySet
// 获取对映射条目的引用的唯一方法是从该集合视图的迭代器。
// 这些Map.Entry对象仅在迭代期间有效
// 更正式地,如果在迭代器返回条目之后已经修改了背景映射,则映射条目的行为是未定义的,除非通过映射条目上的setValue操作。
Iterator<Map.Entry<Integer,String>>iterator=map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<Integer,String>entry= iterator.next();
System.out.println(entry);
}
运行结果:
2.使用 Iterator 遍历 HashMap KeySet
Iteratoriterator=map.keySet().iterator();
while (iterator.hasNext()){
Integer key=iterator.next();
System.out.println(key);
System.out.println(map.get(key));
}
运行结果:
3.使用 For-each 循环迭代 HashMap
for(Map.Entry<Integer,String>entry:map.entrySet()){
System.out.println(entry);
}
4.使用 Lambda 表达式遍历 HashMap
map.forEach((key,value)->{
System.out.println(key);
System.out.println(value);
});
5.使用 Stream API 遍历 HashMap
map.entrySet().stream().forEach((entry) -> {
System.out.println(entry);
System.out.println(entry.getKey());
System.out.println(entry.getValue());
});
运行结果: