java Map遍历速度最优解
第一种(效率高):
Map map = new HashMap();
Iterator iter = mat.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 = mat.entrySet().iterator();
while(iter.hasNext()){
Object key = iter.next();
Object val = map.get(key);
}
HashMap的遍历有两种常用方法:使用keyset及entryset进行遍历,但两者的便利速度有差别,下面请看实例:
public class HashMapTest{
public static void main(String[] args)...{
HashMap hashmap = new HashMap();
for(int i=0;i<1000;i)...{
hashmap.put("i","thanks");
}
long bs = Calendar.getInstance().getTimeInMillis();
Iterator iterator = hashmap.keySet().iterator();
while(iterator.hasNext())...{
System.out.print(hashmap.get()iterator.next());
}
System.out.println();
System.out.println(Calendar.getInstance().getTimeInMillis() - bs);
listHashMap();
}
public static void listHashMap()...{
java.util.HashMap hashmap = new java.util.HashMap();
for (int i = 0;i<1000;i)...{
hashmap.put("i","thanks");
}
long bs = Calendar.getInstance().getTimeInMillis();
java.util.Iterator it = hashmap.entrySet().iterator();
while(it.hasNext())...{
java.util.Map.Entry entry = (java.util.Map.Entry)it.next();
//entry.getKey()返回与此项对应的键
//entry.getValue()返回与此项对应的值
System.out.print(entry.getValue());
}
System.out.println();
System.out.println(Calendar.getInstance().getTimeInMillis() - bs);
}
}
对于keySet其实是遍历了2次一次是转为iterator,一次就从hashmap中取出key所对应的value,而entry只遍历了一次,把key和value都放到了entry中,所以就快了
- 浏览: 170374 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (202)
- AOP (1)
- Dom4j 使用简介 (1)
- eclipse (16)
- Git (1)
- hibernate (2)
- html (4)
- ha (1)
- JDBC (4)
- java (15)
- java泛型 (1)
- jsp (7)
- js&jquery (14)
- jdk (1)
- log4j (12)
- linux (23)
- maven (9)
- mysql (7)
- myeclipse (2)
- MongoDB (4)
- oracle应用 (3)
- php (6)
- struts2 (4)
- spring (10)
- svn (3)
- shell (7)
- servlet (8)
- socket (2)
- sqlite (1)
- TomCat (2)
- ThinkPHP (2)
- UltraEdit (1)
- vmware (2)
- WebService (2)
- web.xml (3)
- windows (1)
- xml (3)
- 软件应用 (2)
- 感悟 (1)
- 插件 (1)
- 非技术 (6)
- 编码 (1)
- 网络协议 (4)
- 杂谈 (2)
- 证书 (1)
- 加密 (3)
- 分布与集群 (1)
- PKI (1)
- thymeleaf (1)
- springboot (1)
- ajax (1)
最新评论
发表评论
-
keytool生成pfx自签证书
2019-10-14 15:06 1115keytool -genkey -alias client - ... -
java.lang.NoClassDefFoundError:could not initial class xxxxxxxxx
2019-08-05 11:54 655当出现这个异常时,我的第一反应是,它跟ClassNotFo ... -
向文本文件追加内容,清空文件内容
2017-03-23 17:07 1015//向文本文件中追加内容,如果append=true则默 ... -
读取和更新properties配置文件(支持中文)
2017-02-17 16:58 9465首先把需要操作的properties配置文件修改成UT ... -
java判别图片格式GIF JPG
2016-12-26 18:25 973原文地址:http://blog.csdn.net/kehen ... -
Source folder is not a Java project
2016-06-11 15:55 1933在eclipse创建maven项目后,不能在src\main\ ... -
eclipse 项目复制
2016-06-07 14:06 689原文地址:http://blog.csdn.net/guop ... -
java socket编程
2015-09-21 18:12 300原文地址:http://www.cnblogs.com/l ... -
synchronized的使用方法
2015-08-31 15:03 484转来的,谢谢版主... ... -
Java中的常用异常处理方法
2014-06-04 14:47 480转载:http://blog.sina.com. ... -
JAVA基础--方法传参
2014-05-11 12:27 1828JAVA基础--方法传参 为啥拿这个当话题? 在初学者 ... -
java.util.Date和java.sql.Date的区别及应用
2014-04-19 17:13 422转自:http://blog.sina.com.cn/s/b ... -
java中相对路径,绝对路径问题总结
2014-04-14 15:26 672转自:http://www.blogjava.ne ... -
JDK中rt.jar、tools.jar和dt.jar作用
2014-02-18 12:08 590原文地址:http://springsfeng.iteye. ...
相关推荐
Java 实例 - HashMap遍历源代码-详细教程.zip
自己写的例子,关于HashSet遍历和HashMap遍历的. 感谢大家参考
下面小编就为大家带来一篇基于HashMap遍历和使用方法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了Java HashMap 如何正确遍历并删除元素的方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
哈希树遍历 HashMap遍历和使用 HashMap遍历和使用
在项目用到了HashMap,需要遍历,并取到需要的值,具体实现代码如下,感兴趣的朋友可以参考下哈
在本篇文章中小编给大家分享了关于HashMap和List遍历方法及如何遍历删除元素知识点总结,需要的朋友们参考下。
下面小编就为大家带来一篇使用多种方式实现遍历HashMap的方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了Java5种遍历HashMap数据的写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Java 集合框架+实例 框架介绍了集合接口、集合类、集合算法等概念 实例包括集合比较、HashMap遍历、集合长度、集合遍历、集合输出、List 循环移动元素、遍历 HashTable 的键值等案例
HashMap是一种基于哈希表的Map接口实现,主要用于存储键值对。它允许空值和空键。其主要特点是通过键的哈希值存储值,并提供了添加、获取和操作存储值的方法。 HashMap的底层数据结构是由数组和链表组成的。数组是...
hashMap和hashTable的区别,大家可以下载学习学习。
主要介绍了java遍历HashMap简单的方法,以实例形式简单分析了采用java遍历HashMap的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
可以通过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 ...
看完这篇 HashMap,和面试官扯皮就没问题了 - HashMap 概述 - HashMap 和 HashTable 的区别 - 相同点 - 不同点 - HashMap 和 HashSet 的... - HashMap 的遍历方式 - HashMap 中的移除方法 - 关于 HashMap 的面
HashMap LinkedList 遍历方法 传统遍历方法 for(int i=0;i<list.size();i++) { String str = list.get(i); ... } 内置迭代器 for (String str : list) { ... } 显式迭代器 Iterator it = list.iterator(); ...
Map的遍历大体有3种: 1、遍历Map.entrySet():它的每一个元素都是Map.Entry对象,这个对象中, 放着的就是Map中的某一对key-value; 2、遍历Map.keySet():它是Map中key值的集合,我们可以通过遍历这个集合来 ...
首先用HashMap遍历一遍数组nums1,Key值储存数组元素,Value(初始值为1)值储存重复元素出现次数,每出现一次加1; b.用List储存nums2中与nums1开始intersection的元素,当遇到map中包含的Key时,才判断对应Value...
主要介绍了Java HashMap三种循环遍历方式及其性能对比,结合具体实例形式分析了Java HashMap三种循环遍历方式的实现方法、运行效率及性能优劣,需要的朋友可以参考下