`
andyyou88
  • 浏览: 41977 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HashMap的两种遍历方式

阅读更多

HashMap的两种遍历方式

 

HashMap存储的是键值对:key-value 。

 

java将HashMap的键值对作为一个整体对象(java.util.Map.Entry)进行处理,这优化了HashMap的遍历处理。

 

第一种:(只遍历一次,将key及value都放到entry中,效率高)

 

    Map map = new HashMap();    

    Iterator iter = map.entrySet().iterator();    

    while (iter.hasNext()) {    

        java.util.Map.Entry entry = (Map.Entry) iter.next();    

        Object key = entry.getKey();    

        Object val = entry.getValue();    

    }  

 

 

第二种:(遍历2次,第一次是获取iterator时,第二次是从hashmap中取出key所对应的value.效率低)

 

     Map map = new HashMap();    

    Iterator iter = map.keySet().iterator();    

    while (iter.hasNext()) {    

        Object key = iter.next();    

        Object val = map.get(key);    

    }  

 

 

 

以上是HashMap 的二种 key  value 的遍历方式。

 

 

分享到:
评论

相关推荐

    Java HashMap 如何正确遍历并删除元素的方法小结

    Java HashMap 提供了两种遍历方法:foreach 模式和迭代器遍历。 1. foreach 模式 foreach 模式是最简单的遍历方法,适用于不需要修改 HashMap 内元素的遍历,只需要获取元素的键/值的情况。 ```java HashMap, V> ...

    HashMap遍历

    为了验证这一点,我们可以使用时间差来比较两种遍历方式的效率: ```java Map, String> map = new HashMap(); for (int i = 0; i ; i++) { map.put("key" + i, "value" + i); } long startTime = System....

    java中Map的两种遍历方法

    在Java编程语言中,`Map`接口是集合框架的一个重要组成部分,它用于存储键值对。其中,`HashMap`是`Map`接口的一个实现类,...在追求代码可读性和维护性的同时,合理利用这两种遍历策略,可以使程序更加健壮和高效。

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

    此外,使用`Iterator`可以在遍历过程中安全地删除元素,而其他两种方式无法做到这一点。从性能上看,该方法与使用增强for循环遍历`keys`或`values`(方法二)具有相似的表现。 #### 方法四:通过键查找值遍历 这种...

    另一种遍历Map的方式

    今天,我们来讨论一种遍历Map的方式,即使用Map.Entry和Map.entrySet()。 Map.Entry是什么? ---------------- Map.Entry是一个接口,表示一个映射项,里面有Key和Value。它有两个方法:getKey()和getValue(),...

    FLEX HashMap遍历并取到需要的值

    在Java中,HashMap的遍历可以通过多种方式实现,比如使用Iterator迭代器、foreach循环等。 而提供的部分内容则是两段重复的代码示例,其核心内容如下: ```java var iterator: Iterator = actImage.toLineMap....

    使用多种方式实现遍历HashMap的方法

    遍历HashMap是常见的操作,本文将介绍六种不同的方法来实现这一功能。 1. **方式一:使用KeySet方法** KeySet方法返回HashMap中所有键的Set视图。由于Set接口实现了Iterable接口,我们可以使用for-each循环来遍历...

    Java Map遍历方式的选择

    keySet的两种遍历方式都需要额外的`get`操作,但它们的性能差异可能取决于get操作的效率。entrySet的两种方式则直接处理Entry对象,减少了查找步骤,理论上应该更快。然而,如果Map实现得足够优化,keySet的性能可能...

    JAVA遍历Map所有元素.doc

    在Java编程中,Map接口是数据结构中非常重要的一个部分,它存储键值对的数据。遍历Map的所有元素是常见的操作,特别是在处理数据或者进行...同时,理解这两种遍历方式的工作原理,可以帮助我们更好地理解和优化代码。

    如何得到hashmap的索引

    从给出的例子中可以看到,作者进行了两种遍历方法的效率测试。测试结果显示,使用`entrySet()`方法比使用`keySet()`方法更快。 ```java // 使用keySet()方法 long startTime = Calendar.getInstance()....

    在Struts标签中对数据的几种遍历

    ### 在Struts标签中对数据的几种遍历 #### 概述 在Web开发中,Struts框架作为经典的MVC架构实现之一,在处理业务逻辑、视图展示等方面提供了丰富的功能支持。其中,对于数据的遍历操作是Struts中一个非常重要的...

    HashMap总结

    HashMap 是 Java 中的一种常用的数据结构,用于存储键值对(Key-Value)数据。下面是 HashMap 的一些特性和使用方法总结。 键(Key)的特性 1. 键可以为 null:HashMap 中的键可以为 null,这意味着可以将 null ...

    java HashMap原理分析

    2. collisions处理:当两个不同的Key发生哈希碰撞时,HashMap会将它们存储在同一个链表中,在查找时,HashMap会遍历链表,找到符合条件的Entry对象。 HashMap的查询效率非常高,因为它可以通过哈希函数直接定位到...

    Java HashMap两种简便排序方法解析

    Java HashMap两种简便排序方法解析 Java HashMap是一种常用的数据结构,然而,它的储存是没有顺序的,按照key的HashCode实现。这使得在 certainsituations下的排序变得非常重要。下面,我们将介绍两种简便的排序...

    HashMap介绍和使用

    所有的复杂数据结构都可以基于这两种基本结构构建出来,HashMap也不例外。 **1.1 数组和链表结合** HashMap内部采用数组加链表(或红黑树)的形式存储数据,这种结构称为“链表散列”。数组作为主存储结构,而链表...

    遍历学期学科

    迭代器是Java集合框架提供的标准遍历方式,适用于所有实现Iterable接口的数据结构,包括HashSet。以下是一个简单的示例: ```java Set<String> subjects = new HashSet(); // 添加学科 subjects.add("数学"); ...

    HASHMAP排序功能描述

    有两种主要方法可以对HashMap进行排序: - **使用LinkedHashMap** LinkedHashMap是HashMap的一个子类,它维护了元素的插入顺序或者访问顺序。如果想要按照插入顺序排序,直接使用LinkedHashMap即可。如果需要按照...

    HashMap源码剖析共10页.pdf.zip

    HashMap提供了两种遍历方式:通过keySet()、entrySet()或values()返回的集合进行迭代,两种方式在并发修改时需要注意异常处理。 10. **HashMap的优化** 在实际应用中,合理设置初始容量和负载因子可以减少扩容次数...

    hashmap使用实例

    6. **遍历HashMap**:有两种方式遍历HashMap,一是通过`entrySet()`获取键值对的迭代器,二是通过`keySet()`获取键的迭代器再获取对应的值。 ```java for (Map.Entry, String> entry : map.entrySet()) { System....

Global site tag (gtag.js) - Google Analytics