`
u011721609
  • 浏览: 46456 次
社区版块
存档分类
最新评论

Map用法

 
阅读更多
转]Java中HashMap遍历的两种方式
原文地址: http://www.javaweb.cc/language/java/032291.shtml


第一种:
  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中,所以就快了。




Java中HashMap遍历的两种方式(本教程仅供研究和学习,不代表JAVA中文网观点)
本篇文章链接地址:http://www.javaweb.cc/language/java/032291.shtml
如需转载请注明出自JAVA中文网:http://www.javaweb.cc/




还是第一种好,简单。。。
分享到:
评论

相关推荐

    m_map用法详解.rar_M map_m_map_m_map sst_matlab世界地图_世界地图 MATLAB

    本文将深入解析m_map的用法,帮助你更好地掌握这一强大工具。 一、m_map工具箱简介 m_map是由Jiro Doke博士开发的MATLAB地图绘图工具箱,它包含了用于地图投影、数据读取、地图要素绘制等功能的函数。m_map不仅...

    m_map用法详解.doc

    m_map用法详解 m_map是MATLAB中的一款地图绘制工具箱,提供了一个用户友好的界面来绘制地图。下面是m_map的使用详解: 首先,需要获得所有文件,无论是zip压缩包还是gzip压缩的tar文件,并解压缩。如果您解压了zip...

    STL中map用法详解 STL中map用法详解 STL中map用法详解

    其中,map是一个关联容器,它按照键(key)的顺序来存储元素,每个键值对应一个唯一的数据值,类似于现实生活中的字典。map的核心特性在于它的自动排序功能,使得我们可以快速地进行查找、插入和删除操作。 1. **...

    C++中STL中的map用法详解.doc

    C++ 中 STL 中的 map 用法详解 map 是 STL 中的一个关联容器,它提供了一对一的数据处理能力。它的特性是每个关键字只能在 map 中出现一次,第二个可能称为该关键字的值。这个特性使得 map 在处理一对一数据的时候...

    STL中map用法详解.rar

    在这个“STL中map用法详解”的压缩包中,我们可以期待深入学习如何利用`map`来处理数据。 `map`容器的主要特点: 1. **键值唯一性**:在`map`中,每一个键都是唯一的,如果尝试插入重复的键,原有的键值对将被新...

    Collection,List,Set和_Map用法和区别

    Collection, List, Set 和 Map 用法和区别 Collection 是 Java 中的一种对象集合,提供了许多有用的方法来操作集合元素,例如添加、删除、遍历等。Collection 是一个接口,下面有两个子接口:List 和 Set。 List ...

    js实现map用法

    在本文中,我们将深入探讨Map的基本用法、特性以及实际应用。 首先,创建Map有多种方式。最常见的是通过`new Map()`构造函数,例如: ```javascript let map = new Map(); ``` 也可以通过数组的数组来初始化Map,...

    MAP用法

    【标题】:深入理解STL中的Map容器:基本用法与操作 【描述】:本文将详细介绍STL中Map容器的基础知识,包括Map的定义、内部结构、构造函数以及数据插入的各种方法,帮助读者掌握Map的基本操作。 【标签】:map,...

    stl中map用法详解

    STL(Standard Template Library,...熟练掌握`map`的用法,能极大地提升C++编程的效率和代码质量。通过了解插入、查找、更新、删除等基本操作以及遍历和查找辅助函数,开发者可以充分利用`map`的特性来解决实际问题。

    STL中map用法详解[整理].pdf

    STL中map用法详解[整理].pdf

    STL中map用法详解 STL中map用法详解

    在STL中,`map`是一种关联容器,用于存储键值对,其中每个元素都有一个唯一的键,并通过这个键进行排序。下面将详细介绍STL中`map`的使用方法。 ### 1. `map`的基本概念 `map`是一个红黑树实现的关联容器,它的每...

    STL中的map用法详解.rar

    本文将深入探讨`map`的用法,包括基本操作、与其他容器的比较以及一些实用技巧。 1. **基本概念** `map`是一个有序的键值对集合,其内部实现通常基于红黑树。这保证了插入、查找和删除等操作的时间复杂度为O(log n...

    STL中map用法详解

    本文将深入解析STL中的`map`用法,帮助你理解其基本概念、操作和应用场景。 1. **map的基本概念** `map`是一个关联容器,它按照键的排序来组织元素。每个元素都是一个键值对,其中键是唯一的,而对应的值可以重复...

    C++ map用法总结(整理)

    在本文中,我们将深入探讨`map`的基本概念、特性、操作以及实际应用,帮助你全面掌握C++ `map`的用法。 ### 1. `map`的定义与类型 `map`是C++标准库中`&lt;map&gt;`头文件的一部分,它是一个红黑树(Red-Black Tree)...

    std map容器用法总结

    下面将详细阐述`std::map`的用法及其关键知识点。 1. **定义与初始化**: `std::map`是模板类,通常定义时需要指定键和值的类型。例如,创建一个存储整数键和字符串值的映射,可以这样定义: ```cpp std::map, ...

    ES6中Symbol、Set和Map用法详解

    本文实例讲述了ES6中Symbol、Set和Map用法。分享给大家供大家参考,具体如下: Symbol 1.Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种分别是:...

    Go语言map用法实例分析

    本文实例讲述了Go语言map用法。分享给大家供大家参考。具体分析如下: map 映射键到值: map 在使用之前必须用 make 来创建(不是 new);一个值为 nil 的 map 是空的,并且不能赋值。 代码如下:package main ...

    map用法总结

    本文将深入探讨`Map`的各种用法,包括其基本操作、遍历方式以及一些高级应用,旨在为读者提供一个全面而深入的理解。 ### 基本概念与创建 `Map`接口是Java集合框架的一部分,它存储键值对,其中键是唯一的,而值...

    浅谈c++中的stl中的map用法详解

    Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程...

Global site tag (gtag.js) - Google Analytics