`
lizerealize
  • 浏览: 265 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

map 遍历《转载》

阅读更多
第一种:   
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);   
}   
效率低,以后尽量少使用!   
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。而entryset只是遍历了第一次,他把key和value都放到了entry中,所以就快了。  
注:Hashtable的遍历方法和以上的差不多! ......  
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/JavaAlpha/archive/2010/02/06/5293716.aspx
分享到:
评论

相关推荐

    java Map 遍历方法

    ### Java Map遍历方法详解 在Java编程语言中,`Map`接口是集合框架中的一个核心组成部分,它存储键值对映射。本篇文章将详细介绍几种常用的遍历`Map`的方法,包括使用传统迭代器(Iterator)、增强型for循环(For-...

    map遍历的三种方法

    Map 遍历是集合操作中的一种重要操作,一般来说,有三种方式来遍历 Map 集合:使用 values() 方法遍历、使用 keySet() 方法遍历和使用 entrySet() 方法遍历。 第一种方法:使用 values() 方法遍历 这个方法是最...

    map遍历的四种方法

    ### Map遍历的四种方法 在Java编程语言中,`Map`是一种常用的数据结构,用于存储键值对。为了能够有效地处理和操作这些键值对数据,熟练掌握遍历`Map`的方法至关重要。本文将详细介绍四种不同的遍历`Map`的方式,并...

    map遍历的四种方式及性能比较

    ### Java中遍历Map的四种方式及性能比较 在Java编程中,`Map`是一种非常重要的数据结构,用于存储键值对。对于`Map`的遍历,不同的遍历方式有着不同的性能表现以及适用场景。本文将详细介绍四种常见的遍历`Map`的...

    struts2中的map遍历

    在Struts2中,Map遍历是一个常见的功能,它允许开发者动态地展示或操作存储在Map中的数据。这个功能在处理表单提交、传递参数或者在视图层展示数据时尤为有用。 首先,让我们理解Map遍历的基本概念。Map是一种键值...

    map的遍历方法 有几种? 帮你选择最好的遍历方式

    你知道map的遍历方法有几种吗? 那这几种的区别是什么呢? 那种更简单、高效呢? 我的资源文件将告诉你。

    C++11 unordered_map与map(插入,遍历,Find)效率对比。

    - `std::unordered_map`:遍历哈希表通常需要遍历所有桶,因此其时间复杂度也是O(n),但实际运行速度可能比`std::map`快,尤其是当元素数量很大时。 **查找操作**: - `std::map`:查找操作同样为O(log n),因为...

    Map遍历方法总结

    ### Map遍历方法总结 #### 一、引言 在Java编程中,`Map`是一种常用的集合类型,用于存储键值对数据。由于其高效的数据查找特性,在许多场景下都有广泛的应用。对于开发者来说,了解如何有效地遍历`Map`中的元素是...

    Freemarker 遍历Map数据

    数据模型: @RequestMapping(/freemarker) @Controller public class FreemarkerController { //测试1 @RequestMapping(/test1) public String test1(Model model){ //向数据模型放数据 model.addAttribute(name...

    JAVA8独有的map遍历方式(非常好用)

    在Java 8中,Map接口引入了新的方法和特性,使得遍历Map变得更为简洁高效。以下是关于Java 8独有的Map遍历方式的详细说明: 1. **通过`Map.keySet()`遍历** 在Java 8之前,遍历Map的传统方式是通过`Map.keySet()`...

    Java Map 遍历实例与效率比较

    主要提供java中的map的遍历实例及效率比较

    java Map遍历方法

    这篇博文主要探讨了如何遍历Java中的`Map`对象,下面将详细介绍几种常见的遍历`Map`的方法。 1. **迭代器法**: Java提供了`Map`接口的`entrySet()`方法,返回一个包含`Map`中所有键值对的`Set`视图。通过这个`Set...

    MAP的遍历的讲解

    这是一人篇关于JAVA MAP遍历的讲解的文章,希望对你有用

    Java Map 遍历比较齐全的解析.docx

    总结,Java中遍历`Map`主要有四种方式,其中通过`Map.entrySet()`进行遍历通常被认为效率较高,尤其在`Map`容量较大的情况下。而在Java 8之后,我们可以利用Lambda表达式简化遍历操作。获取`Map`的长度直接调用`size...

    for循环中的map遍历没走的原因-原代码

    for循环中的map遍历没走的原因-原代码

    java集合MAP三种遍历

    本文将详细介绍Java中Map集合的三种遍历方法及其应用场景、优缺点等,帮助读者更好地理解和掌握Map的使用技巧。 ### 一、Map简介 `Map`接口是Java集合框架的一部分,它提供了基于键值对的数据存储方式。常见的实现...

    Map遍历方法

    ### Map遍历方法详解 #### 一、引言 在Java编程中,`Map`是一种常用的集合类型,用于存储键值对数据。由于其高效的数据查找特性,在许多场景下都有广泛的应用。对于开发者来说,掌握如何有效地遍历`Map`中的元素是...

    List,Set和Map遍历读取[归类].pdf

    下面将详细讲解如何遍历List、Set和Map这三种类型的集合。 1. **List遍历** List是一个有序的集合,允许重复元素,可以通过索引来访问。Java提供了两种主要的遍历方式: - **方法一:使用迭代器** ```java ...

    另一种遍历Map的方式

    "遍历Map的方式" Map是一种常用的数据结构,在Java中有多种遍历Map的方式。今天,我们来讨论一种遍历Map的方式,即使用Map.Entry和Map.entrySet()。 Map.Entry是什么? ---------------- Map.Entry是一个接口,...

Global site tag (gtag.js) - Google Analytics