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中,所以就快了
- 浏览: 177612 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 1207keytool -genkey -alias client - ... -
java.lang.NoClassDefFoundError:could not initial class xxxxxxxxx
2019-08-05 11:54 691当出现这个异常时,我的第一反应是,它跟ClassNotFo ... -
向文本文件追加内容,清空文件内容
2017-03-23 17:07 1066//向文本文件中追加内容,如果append=true则默 ... -
读取和更新properties配置文件(支持中文)
2017-02-17 16:58 9508首先把需要操作的properties配置文件修改成UT ... -
java判别图片格式GIF JPG
2016-12-26 18:25 1009原文地址:http://blog.csdn.net/kehen ... -
Source folder is not a Java project
2016-06-11 15:55 2003在eclipse创建maven项目后,不能在src\main\ ... -
eclipse 项目复制
2016-06-07 14:06 714原文地址:http://blog.csdn.net/guop ... -
java socket编程
2015-09-21 18:12 337原文地址:http://www.cnblogs.com/l ... -
synchronized的使用方法
2015-08-31 15:03 513转来的,谢谢版主... ... -
Java中的常用异常处理方法
2014-06-04 14:47 505转载:http://blog.sina.com. ... -
JAVA基础--方法传参
2014-05-11 12:27 1861JAVA基础--方法传参 为啥拿这个当话题? 在初学者 ... -
java.util.Date和java.sql.Date的区别及应用
2014-04-19 17:13 444转自:http://blog.sina.com.cn/s/b ... -
java中相对路径,绝对路径问题总结
2014-04-14 15:26 706转自:http://www.blogjava.ne ... -
JDK中rt.jar、tools.jar和dt.jar作用
2014-02-18 12:08 615原文地址:http://springsfeng.iteye. ...
相关推荐
HashMap遍历和使用方法详解 HashMap是Java中一种常用的数据结构,用于存储键值对的集合。它实现了Map接口,是基于哈希表结构的,可以快速地存储和检索数据。本文将详细介绍HashMap的遍历和使用方法,并比较HashMap...
5. **HashMap遍历注意事项**: - 遍历HashMap时修改HashMap(添加、删除元素)可能会导致`ConcurrentModificationException`,因为迭代器无法检测到这种并发修改。 - 使用`keySet()`遍历并删除元素是安全的,但...
自己写的例子,关于HashSet遍历和HashMap遍历的. 感谢大家参考
Java HashMap 遍历和删除元素方法小结 Java HashMap 是一种常用的数据结构,用于存储键值对儿,但是在遍历和删除元素时,需要注意一些特殊的情况,否则可能会出现异常或错误。本文将介绍 Java HashMap 遍历和删除...
标题中提到的"FLEX HashMap遍历并取到需要的值",是指在编程中如何使用Java语言的HashMap集合类型进行遍历,并且从中取得符合特定条件的数据值。HashMap是一种基于哈希表的Map接口实现,它允许我们存储键值对,其中...
要解决HashMap遍历删除元素的问题,可以使用Iterator来遍历HashMap,并使用Iterator的remove方法来删除元素。这样可以避免ConcurrentModificationException异常。 小结 在遍历和删除HashMap和List的元素时,需要...
Java5种遍历HashMap数据的写法 Java语言中,HashMap是一种常用的数据结构,用于存储键值对形式的数据。然而,在实际开发中,我们经常需要遍历HashMap中的数据以实现某些功能。下面将介绍五种遍历HashMap数据的写法...
遍历HashMap是常见的操作,本文将介绍六种不同的方法来实现这一功能。 1. **方式一:使用KeySet方法** KeySet方法返回HashMap中所有键的Set视图。由于Set接口实现了Iterable接口,我们可以使用for-each循环来遍历...
HashMap遍历的常用方法主要有三种:迭代器(Iterator)遍历、键集(KeySet)遍历以及 Entry 集(entrySet)遍历。下面将逐一介绍这些方法。 1. 迭代器遍历: HashMap提供了迭代器接口(Iterator),可以通过调用`...
返回的是一个包含HashMap中所有值的集合,遍历此集合可以获取所有值。优点:如果关注的是值而非键,可以直接遍历值集。缺点:无法直接获取键,如果需要键,则需要额外的查找操作。 HashMap的遍历方式各有特点,选择...
遍历HashMap有多种方式。第一种是通过entrySet()迭代器,可以同时获取键值对;第二种是通过keySet()迭代器,需要再次通过get()获取值;第三种是使用Java 8引入的forEach()方法,通过Lambda表达式简洁地遍历。其中,...
### hashMap和hashTable的区别 #### 一、简介与基本概念 `HashMap` 和 `HashTable` 都是 Java 集合框架中非常重要的数据结构,它们都实现了 `Map` 接口,用于存储键值对。尽管它们在功能上有很多相似之处,但在...
- HashMap遍历方式及其应用场景 - ArrayList与LinkedList的区别及适用场景 - Java访问修饰符的使用 - final关键字的含义及其应用场景 - Ajax的工作原理及其核心对象 - Spring框架中的事务管理配置方法 - ...
- **HashMap遍历**:通过迭代器遍历HashMap中的键值对。 - **集合长度**:获取集合中元素的数量。 - **集合遍历**:使用迭代器或for-each循环遍历集合中的元素。 - **集合输出**:将集合内容打印到控制台。 - *...
HashMap遍历Node数组,直到找到对应的键值对。如果找到,则更新对应的值,否则将键值对存储到Node数组中。 3. 存储键值对 HashMap将键值对存储到Node数组中。每个Node对象都包含三个字段:hash、key和value。hash...
在Java编程中,哈希遍历(Hash Traversal)通常是指对哈希表或映射数据结构(如HashMap)中的键值对进行访问的过程。哈希表是一种高效的数据存储方式,它通过计算对象的哈希码来快速定位数据,使得查找、插入和删除...
- HashMap遍历顺序与插入顺序可能不同,而Hashtable的顺序是固定的。 6. **抽象类与接口**: - **抽象类**:可以包含抽象方法和非抽象方法,可以有实例变量,可以被继承。 - **接口**:只能包含抽象方法和常量,...
可以通过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 ...
24. HashMap遍历的三种方式。 25. JVM命令的使用。 26. ConcurrentHashmap的锁机制及其性能考量。 27. MySQL存储引擎MyISAM和InnoDB的区别。 28. Memcache与Redis的对比。 29. MySQL的行级锁和性能优化方法。 30. ...