赞
踩
遍历HashMap集合一般有四种方式,今天跟大家介绍一下:
1.分别遍历key和values,这里调用了import java.util.Set;方法如下:
//分别遍历key和values
private static void method( HashMap<String,Integer> hm){
//获取所有的key
Set<String> keys = hm.keySet();
for(String key: keys){
System.out.println(key);
}
//获取所有的value
Collection<Integer> values = hm.values();
for(int value:values){
System.out.println(value);
}
}
2.使用Iterator迭代器:
//使用Iterator迭代器迭代
private static void method_1(HashMap<String,Integer> hm){
Set<Map.Entry<String,Integer>> entries = hm.entrySet();
for(Iterator<Map.Entry<String,Integer>> it = entries.iterator();it.hasNext();){
Map.Entry<String,Integer> entry = it.next();
System.out.println(entry.getKey()+"---"+entry.getValue());
}
}
3.通过get方式遍历,不建议使用因为效率较低:
//通过get方式,不建议使用,效率低
private static void method_2(HashMap<String,Integer> hm){
Set<String> keys = hm.keySet();
for(String key:keys){
Integer value = hm.get(key);
System.out.println(key+"---"+value);
}
}
4.Jdk8之后使用Map接口中的默认方法:
// jdk8之后使用Map接口中的默认方法
private static void method_3(HashMap<String,Integer> hm){
hm.forEach((key,value)->{
System.out.println(key+"---"+value);
});
}
遍历的运行结果如图:
最后需要注意的是:就是HashMap容量的初始化,因为最好的初始化可以尽量避免数组扩容resize,
最好的initialCapacity = (需要存储的元素个数/加载因子)+1
大家也可以关注我的公众号,会同步更新Java语言以及数据结构算法、软件安装更新的电脑知识:琢磨先生DataBase
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。