- 浏览: 897341 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (498)
- J2EE (52)
- 数据库 (17)
- java基础 (43)
- web技术 (19)
- 程序设计 (6)
- 操作系统 (18)
- IT资讯 (7)
- 我的IT生活 (12)
- 学习笔记 (9)
- Jquery (25)
- JavaScript (18)
- spring (40)
- Hibernate (12)
- Struts (10)
- YUI (2)
- Extjs (22)
- .net (0)
- Eclipse (10)
- 社会主义 (2)
- 服务器 (9)
- CSS (8)
- 网络安全 (16)
- 版本控制 (9)
- PHP (2)
- Oracle (42)
- SQL server (1)
- Mysql (11)
- 项目管理 (3)
- 开发工具使用 (10)
- SQL语句 (7)
- Perl (0)
- Shell (6)
- 漏洞 (4)
- ibatis (5)
- hacker (2)
- SQL注入 (6)
- Hacker工具 (2)
- 入侵和渗透 (7)
- 插件/组件 (2)
- 最爱开源 (5)
- 常用软件 (2)
- DOS (1)
- HTML (2)
- Android (9)
- CMS (1)
- portal (8)
- Linux (7)
- OSGI (1)
- Mina (5)
- maven (2)
- hadoop (7)
- twitter storm (2)
- sap hana (0)
- OAuth (0)
- RESTful (1)
- Nginx (4)
- flex (1)
- Dubbo (1)
- redis (1)
- springMVC (1)
- node.js (1)
- solr (2)
- Flume (1)
- MongoDB (2)
- ElasticSearch (1)
最新评论
-
M_drm:
请问要怎么设置浏览器才不报没权限呢?
用JS在页面调用本地可执行文件的方法(ACTIVEX) -
Alexniver:
官方文档。When importing data into I ...
mysql导入数据过慢 解决方法 -
camelwoo:
我记得 Criteria 可以做连接查询与子查询,也可以做分页 ...
Hibernate总结篇二 -
zhenglongfei:
楼主如果SubKeyName 这个节点不存在,怎么办??怎么用 ...
Java操作注册表 -
yxx676229549:
用log4j 2 了
logback
http://smallnetvisitor.iteye.com/blog/1729381
首先我们准备数据,准备一个map
然后我们采用传说中的key遍历:
步骤:先弄成key set,然后遍历key set 通过key从map中获取value
然后我们在采用entrySet的方式遍历下:
步骤:先弄成entrySet 然后遍历他,获取key和value
孰优孰劣?
看JDK源码,对比两种访问方式:
首先看KeySet访问方式:
也就是调用entrySet()从entryset中获取key,也就是说是在entry set的基础上来做的,貌似多次一举
结论:
通过上述代码我们就知道,采用entrySet方式要优于keySet,因为keySet首先要访问entrySet来组建一个keySet,重复工作不言而喻
首先我们准备数据,准备一个map
Map<String, String> map = new HashMap<String, String>(); for (int i = 0; i < 10; i++) { map.put(i + "", "value" + i); }
然后我们采用传说中的key遍历:
步骤:先弄成key set,然后遍历key set 通过key从map中获取value
Iterator<String> iterator = map.keySet().iterator(); while (iterator.hasNext()) { String key = iterator.next(); String val = map.get(key); System.out.println(key + "->" + val); } System.out.println("*********************");
然后我们在采用entrySet的方式遍历下:
步骤:先弄成entrySet 然后遍历他,获取key和value
Set<Entry<String, String>> set = map.entrySet(); Iterator<Entry<String, String>> s = set.iterator(); while (s.hasNext()) { Entry<String, String> en = s.next(); String key = en.getKey(); String val = en.getValue(); System.out.println(key + "->" + val); }
孰优孰劣?
看JDK源码,对比两种访问方式:
首先看KeySet访问方式:
public Set<K> keySet() { if (keySet == null) { keySet = new AbstractSet<K>() { public Iterator<K> iterator() { return new Iterator<K>() { private Iterator<Entry<K,V>> i = entrySet().iterator(); public boolean hasNext() { return i.hasNext(); } public K next() { return i.next().getKey(); } public void remove() { i.remove(); } }; } public int size() { return AbstractMap.this.size(); } public boolean contains(Object k) { return AbstractMap.this.containsKey(k); } }; } return keySet; }
也就是调用entrySet()从entryset中获取key,也就是说是在entry set的基础上来做的,貌似多次一举
结论:
通过上述代码我们就知道,采用entrySet方式要优于keySet,因为keySet首先要访问entrySet来组建一个keySet,重复工作不言而喻
发表评论
-
List对象排序通用方法
2014-07-29 09:21 993在数据库中查出来的列 ... -
EJBCA环境搭建
2014-04-03 17:31 1048EJBCA开发者 http://wiki.ejbca.org/ ... -
Java & Eclipse 相关内容杂记及技巧
2013-11-26 22:42 10111、Eclipse 的启动画面 A、加启动参数。如: ... -
一套貌似很牛B的Nutch相关框架视频教程
2013-10-24 09:16 1064国内首套免费的《Nutch相关框架视频教程》(1-20) ht ... -
HTTP文件断点上传
2013-05-14 00:10 990HTTP文件断点上传 http://www.cnblogs.c ... -
使用 Eclipse Memory Analyzer 检测内存泄漏问题
2013-05-05 19:01 820转:http://blog.csdn.net/moneyice ... -
memcached实现多个tomcat 共享一个session(转)
2013-04-23 09:49 824http://dqm926.iteye.com/blog/18 ... -
Java字符编码根本原理
2013-04-03 16:33 828Java开发中,常常会遇到乱码的问题,一旦遇到这种问题,常常就 ... -
StringUtils常用方法说明
2013-01-28 09:21 966http://www.iteye.com/topic/1128 ... -
logback
2013-01-23 09:40 1229http://yuri-liuyu.iteye.com/blo ... -
中文排序要注意的问题
2012-12-08 10:10 1113遇到了中文排序问题,比如想用拼音排序, String[] ... -
位运算
2012-11-21 17:50 921程序中的所有数在计算 ... -
SVN如何强制在提交时要求添加注释说明(windows平台)
2012-11-06 18:00 3587在项目库的hooks目录下,添加一个pre-commit.ba ... -
Java虚拟机读写其他进程的数据
2012-08-22 13:07 1094Java虚拟机读写其他进程的数据 http://axiang ... -
java计算校验和:对“消息头+会话头+事务头+操作信息”按32位异或,对异或结果取反后的值为校验和。
2012-08-14 17:41 3502java计算校验和:对“消 ... -
java中对Byte字符数组定长截取的方法
2012-08-14 16:33 2069今天在在处理从网络上接收到的字符串,因为是从后台C语言过来的一 ... -
CAS单点登录配置笔记
2012-08-14 16:31 1049转:http://blog.csdn.net/lifvc/ar ... -
hadoop安装与配置
2012-08-10 11:46 1316一、安装准备 1、下载hadoop 0.21.0,地址:ht ... -
集中各种好网站
2012-08-09 16:41 9331.开源中国---在线工具: http://www.oscto ... -
人脸检测算法库 jViolajones 使用示例代码
2012-08-09 16:32 1645jViolajones是人脸检测算法Viola-Jones的一 ...
相关推荐
在本篇文章中小编给大家分享了关于HashMap和List遍历方法及如何遍历删除元素知识点总结,需要的朋友们参考下。
主要介绍了Java HashMap 如何正确遍历并删除元素的方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
讲述了hashmap的几种遍历方法,相当经典
下面小编就为大家带来一篇基于HashMap遍历和使用方法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了Java HashMap三种循环遍历方式及其性能对比,结合具体实例形式分析了Java HashMap三种循环遍历方式的实现方法、运行效率及性能优劣,需要的朋友可以参考下
哈希树遍历 HashMap遍历和使用 HashMap遍历和使用
2、遍历Map.keySet():它是Map中key值的集合,我们可以通过遍历这个集合来 读取Map中的元素; 3、遍历Map.values():它是Map中value的集合,我们可以直接通过这个集合遍历 Map中的值,却不能读取key。
当两个或更多的键的哈希值相同时,就会发生哈希冲突,此时,这些键值对就会存储在链表中。 在JDK1.8之前,当链表长度大于阈值(默认为8)时,链表会被转化为红黑树,以减少搜索时间。而在JDK1.8之后,这个阈值被改...
自己写的例子,关于HashSet遍历和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 的面
Java 实例 - HashMap遍历源代码-详细教程.zip
hashMap和hashTable的区别,大家可以下载学习学习。
主要介绍了java遍历HashMap简单的方法,以实例形式简单分析了采用java遍历HashMap的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
主要介绍了Java5种遍历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(); ...
下面小编就为大家带来一篇使用多种方式实现遍历HashMap的方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
HashMap 7 种遍历方式的性能评测与优化 If / switch 性能评测 switch 性能优化 JVM 性能优化 MySQL性能优化的 50+ 小技巧 Redis 性能优化的 13 个小技巧 . . . 每篇文章图文并茂,附有源码 + 性能评测结果 + ...
Scala中的基本HashMap实现 应对KPCB奖学金 依存关系 brew install sbt # on Mac 跑步 sbt run 测试 sbt test