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中,所以就快了
分享到:
相关推荐
下面小编就为大家带来一篇基于HashMap遍历和使用方法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
自己写的例子,关于HashSet遍历和HashMap遍历的. 感谢大家参考
Java 实例 - HashMap遍历源代码-详细教程.zip
下面小编就为大家带来一篇使用多种方式实现遍历HashMap的方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了Java HashMap 如何正确遍历并删除元素的方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
讲述了hashmap的几种遍历方法,相当经典
在本篇文章中小编给大家分享了关于HashMap和List遍历方法及如何遍历删除元素知识点总结,需要的朋友们参考下。
哈希树遍历 HashMap遍历和使用 HashMap遍历和使用
其主要特点是通过键的哈希值存储值,并提供了添加、获取和操作存储值的方法。 HashMap的底层数据结构是由数组和链表组成的。数组是HashMap的主体,而链表则是为了解决哈希冲突而存在的。当两个或更多的键的哈希值...
在项目用到了HashMap,需要遍历,并取到需要的值,具体实现代码如下,感兴趣的朋友可以参考下哈
java Map 遍历方法 Map map = new HashMap(); Iterator it = map.entrySet().iterator(); while (it.hasNext()) {
Java不同数据存储类型使用不同遍历方法效率研究 GitHub代码仓库 数据存储类型 ArrayList HashSet HashMap LinkedList 遍历方法 传统遍历方法 for(int i=0;i<list.size();i++) { String str = list.get(i); ... ...
主要介绍了Java5种遍历HashMap数据的写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了java遍历HashMap简单的方法,以实例形式简单分析了采用java遍历HashMap的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
Map的遍历大体有3种: 1、遍历Map.entrySet():它的每一个元素都是Map.Entry对象,这个对象中, 放着的就是Map中的某一对key-value; 2、遍历Map.keySet():它是Map中key值的集合,我们可以通过遍历这个集合来 ...
该资源摘自: http://www.cnblogs.com/kristain/articles/2033566.html
可以通过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和hashTable的区别,大家可以下载学习学习。
看完这篇 HashMap,和面试官扯皮就没问题了 - HashMap 概述 - HashMap 和 HashTable 的区别 - 相同点 - 不同点 - HashMap 和 HashSet 的... - HashMap 的遍历方式 - HashMap 中的移除方法 - 关于 HashMap 的面