前言
在日常开发中,HashMap是一个常用的集合,主要用来存储键值对,那么HashMap有几种遍历方式呢?答案是:五种!在Java8之前有四种,Java8中新增了lambda表达式,因而HashMap又新增了一种遍历方式。下面来具体看一下这五种遍历方式。
1.准备
首先创建一个HashMap集合,并添加四个键值对。
Map<Integer,String> map=new HashMap<>();
map.put(1,"第一个");
map.put(2,"第二个");
map.put(3,"第三个");
map.put(4,"第四个");
2.使用五种方式遍历该集合
第一种:先得到key值,然后通过key得到value。
Set<Integer> set = map.keySet();
for(Integer integer : set){
System.out.println(integer + "->" + map.get(integer));
}
第二种:通过Map.values()遍历所有value,但不能遍历key。
for (String val : map.values()){
System.out.println(val);
}
第三种:通过Map.entrySet()使用迭代器Iterator遍历key和value。
Iterator<Map.Entry<Integer,String>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<Integer,String> entry = iterator.next();
System.out.println(entry.getKey() + "->" + entry.getValue());
}
第四种:直接通过Map.entrySet()遍历key和value。
for(Map.Entry<Integer,String> entry : map.entrySet()){
System.out.println(entry.getKey() + "->" + entry.getValue());
}
第五种:通过lambda表达式调用forEach遍历。
map.forEach((key,value)->{
System.out.println(key + "->" + value);
});
以上就是遍历HashMap的所有方法了,尤其是第五种,是不是特别方便?