遍历HashMap
本文将介绍遍历HashMap的六种方式,jdk版本1.8。HashMap的使用频率在所有map中确实属于比较高的。因为它可以满足我们大多数的场景了。
首先,介绍几个本文中所涉及到的属性
- values():
方法是获取集合中的所有的值----没有键,没有对应关系, - KeySet():
将Map中所有的键存入到set集合中。因为set具备迭代器。所有可以迭代方式取出所有的键,再根据get方法。获取每一个键对应的值。 - entrySet():
Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射关系的 Set 视图。 Map.Entry表示映射关系。entrySet():迭代后可以e.getKey(),e.getValue()取key和value。返回的是Entry接口 。
本文所用使用的demo
Map<Integer,String> map=new HashMap<>();
map.put(1,"java");
map.put(2,"go");
map.put(3,"python");
for(Integer key:map.keySet()){
System.out.println("Key:"+key+"value:"+map.get(key));
}
Iterator<Integer> iterator1=map.keySet().iterator();
while (iterator1.hasNext()){
Integer key=iterator1.next();
System.out.println("Key:"+key+"value:"+map.get(key));
}
for(Map.Entry<Integer,String> entry : map.entrySet()){
System.out.println("Key:"+entry.getKey()+"value:"+entry.getValue());
}
Iterator<Entry<Integer,String>> iterator=map.entrySet().iterator();
while (iterator.hasNext()){
Entry entry= iterator.next();
System.out.println("Key:"+entry.getKey()+"value:"+entry.getValue());
}
map.forEach((key,value) -> {
System.out.println("Key:"+key+"value:"+value);
});
map.entrySet().stream().forEach((entry) ->{
System.out.println("Key:"+entry.getKey()+"value:"+entry.getValue());
});
for(String value:map.values()){
System.out.println("value:"+value);
}
总结
- 视需求而定, 需要key 和 value的值,还是选择使用那一种比较好。