HashMap的遍历有两种常用的方法,那就是使用keyset及entryset来进行遍历,但两者的遍历速度是有差别的。
第一种:
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
效率高,以后一定要使用此种方式!
第二种:
Map map = new HashMap();
Iterator iter = map.keySet().iterator();
while (iter.hasNext()) {
Object key = iter.next();
Object val = map.get(key);
}
效率低,以后尽量少使用!
对于keySet其实是遍历了2次,一次是转为iterator,一次就从hashmap中取出key所对于的value。而entryset只是遍历了第一次,他把key和value都放到了entry中,所以就快了。
相关推荐
1、遍历Map.entrySet():它的每一个元素都是Map.Entry对象,这个对象中, 放着的就是Map中的某一对key-value; 2、遍历Map.keySet():它是Map中key值的集合,我们可以通过遍历这个集合来 读取Map中的元素; 3、...
java Map 遍历方法 Map map = new HashMap(); Iterator it = map.entrySet().iterator(); while (it.hasNext()) {
<FONT color=#0000ff>//方法一: 用entrySet() Iterator it = emails.entrySet().iterator(); while(it.hasNext()){ Map.Entry m=(Map.Entry)it.next(); logger.info("email-" + m.getKey() + ":" + m....
java Map 遍历方法 Map map = new HashMap(); Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); Object key = entry.getKey(); ...
Map a = new HashMap(); //方法一 Iterator it = a.entrySet().iterator(); while (it.hasNext()) { Map.Entry pairs = (Map.Entry) it.next(); System.out.println(pairs.getValue()); } //以下方法需要jdk5以上...
对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次...
主要为大家详细介绍了Java使用entrySet方法获取Map集合中的元素,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Map是java中非常常用的一个集合类型,我们通常也需要去遍历Map去获取某些值,java 8引入了Stream的概念,那么我们怎么在Map中使用Stream呢? 基本概念 Map有key,value还有表示key,value整体的Entry。 创建一个Map...
可以通过2种方法遍历HashMap <br>Map map = new HashMap(); <br>for (Iterator iter = map.entrySet().iterator(); iter.hasNext();) { <br> Map.Entry entry = (Map.Entry) iter.next(); <br> Object ...
NULL 博文链接:https://hoochiang.iteye.com/blog/1816970
用自定义的MyHashMap彻底了解EntrySet ()方法,及put()和get()方法实现
- Map 接口 - 重要内部类和接口 - Node 接口 - KeySet 内部类 - Values 内部类 - EntrySet 内部类 - HashMap 1.7 的底层结构 - HashMap 1.8 的底层结构 - HashMap 重要属性 - HashMap 构造函数 - 讲一讲 ...
> entry : map.entrySet()) { if (sb.length() > 0) { sb.append("&"); } sb.append(String.format("%s=%s", URLEncoder.encode(entry.getKey().toString(), "UTF-8"), URLEncoder.encode(entry.getValue().toString...
当这个map集合把元素都存入之后,再通过EntrySet()将这个关系对遍历出来.然后再分别获取key和value.最后打印. * * 总结: * 1.对于出现了有映射或者对应关系的元素时,必须想到要用到map集合. * 2.对于要查询出现...
此文件是用eclipse打包的,如果用eclipse工具可直接导入查看,如果用的是idea工具,可以打开bin下的.class文件之后,拖入到idea运行即可
推荐使用entrySet进行遍历。 多选 24.关于变量、方法名、包的命名,下列哪些说法符合《阿里巴巴Java开发手册》:ABCD A .POJO类中的任何布尔类型的变量,都不要加is,因为部分框架解析时有可能会出现序列化错误。...
全量断言方法-Java版 /** * 校验结果的每一个值 * * @param exp * @param map */ private void checkEveryResultInfo(Map, Object> exp, Map, Object> map) { for (Map.Entry, Object> m : exp.entrySet()) {...
1212Map.doc 目的: 学会使用 Map、TreeMap 完成内容 1. 定义 Map, 加入一些数据 使用 entrySet 方式显示全部键、值其内容 使用 keySet 方式显示全部键、值内容 使用 values 显示全部值内容
import java.util.Map.Entry; import java.util.Set; import java.util.TreeMap; public class TestTreeMap { public static void main(String[] args) { TreeMap, ArrayList<City>> map = new TreeMap(); ...
每个Java对象都可以关联一个Monitor对象,如果使用synchronized给对象上锁(重量级)之后,该对象头的Mark Word中就被设置指向Monitor对象的指针 Monitor是JVM实现的对象,当使用synchronized(obj)对一个对象进行...