`
ilrxx
  • 浏览: 64867 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

HashMap的entrySet与keySet

 
阅读更多
当需要遍历hashmap的时候,请尽量使用entrySet,而不要用keySet,entrySet的效率要比keySet高,实际上使用entrySet是只需要遍历一次hash,即将key和value的映射关系放入到entry中,再取之;而keySet需要两次遍历hash,第一次取所有的key,第二次用key去取出对应的value。

		Iterator iter = hashMap.[color=red]entrySet()[/color].iterator();
		while (iter.hasNext()) {
		    Map.Entry entry = (Map.Entry) iter.next();
		    String key = String.valueOf(entry.getKey());
		    String val = String.valueOf(entry.getValue());
		} 
6
3
分享到:
评论

相关推荐

    如何得到hashmap的索引

    根据提供的内容,我们可以了解到遍历`HashMap`主要有两种方式:使用`keySet()`方法和使用`entrySet()`方法。 1. **使用keySet()方法** ```java Map map = new HashMap(); Iterator iter = map.keySet()....

    hashMap利用iterator迭代器迭代元素方法

    在`HashMap`中,我们可以通过`entrySet()`、`keySet()`或`values()`方法获取迭代器,分别针对键值对、键或值进行迭代。 1. **使用`entrySet()`迭代**: 这是最常见的迭代方式,因为它允许同时访问键和值。首先,...

    hashmap 实例

    Iterator iterator = hashmap.keySet().iterator(); while (iterator.hasNext()) { System.out.println(hashmap.get(iterator.next())); } ``` 这里,我们没有使用迭代器直接获取值,而是先获取键,再通过 `get()`...

    HashMap的数据结构

    8. **迭代器**:HashMap提供了迭代器`keySet()`、`values()`和`entrySet()`,分别用于获取键集合、值集合和键值对集合的迭代器,方便遍历HashMap的所有元素。 9. ** equals() 和 hashCode()**:插入HashMap的键对象...

    Java-HashMap.rar_hashmap_java hashmap

    6. **迭代器遍历**:尽管遍历顺序不确定,但`HashMap`提供`keySet()`, `values()`和`entrySet()`方法来遍历键、值和键值对。 下面是一些关于`HashMap`的基本操作: - **插入键值对**:使用`put()`方法插入键值对,...

    HashMap与HashTable的区别(含源码分析)

    - `HashTable`的一些方法名使用了过时的命名约定,如`elements()`和`keys()`,而`HashMap`使用了更符合Java集合框架的`entrySet()`, `keySet()`, `values()`方法。 在实际开发中,如果对线程安全有要求,可以选择`...

    hashmap.zip

    9. **遍历方式**:HashMap可以通过`keySet()`、`values()`和`entrySet()`获取三种不同类型的迭代器,分别用于遍历键、值和键值对。 10. **初始容量**:在创建HashMap时,可以通过构造函数指定初始容量。若不指定,...

    HashMap排序

    List, Integer>> arrayList = new ArrayList(hashMap.entrySet()); Collections.sort(arrayList, new Comparator, Integer>>() { public int compare(Map.Entry, Integer> o1, Map.Entry, Integer> o2) { return o...

    hashmap使用实例

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

    HashMap遍历

    与`keySet()`不同的是,`entrySet()`允许我们同时访问键和值,而无需额外的`get()`操作。这在性能上通常更优,尤其是在频繁访问键值对的场景下。下面是一个使用`entrySet()`遍历`HashMap`的示例: ```java Map, ...

    HashMap资料.zip

    8. **HashMap的遍历方式**:HashMap可以通过`keySet()`、`entrySet()`和`values()`方法分别获取键的集合、键值对的集合和值的集合进行遍历,其中`entrySet()`通常是最高效的遍历方式。 9. **HashMap与HashTable的...

    hashMap具体详解

    9. 其他特性:HashMap还提供了containsKey()、containsValue()、clear()等方法,以及keySet()、values()和entrySet()这三个集合视图,分别用于获取键集合、值集合和键值对集合,方便进行遍历和操作。 总的来说,...

    HashMap 概述 精讲 .md

    HashMap提供了多种构造函数,包括无参构造、指定初始容量的构造和指定初始容量与负载因子的构造。这些构造函数允许用户根据实际需求定制HashMap的初始状态。 #### 讲一讲 HashMap put 的全过程 - **计算哈希码**:...

    Java HashMap三种循环遍历方式及其性能对比实例分析

    HashMap提供了三种循环遍历方式,即for each map.entrySet()、显示调用map.entrySet()的集合迭代器、for each map.keySet()。每种遍历方式都有其特点和优缺势,本文将通过实例分析和性能测试来比较这三种遍历方式的...

    java遍历HashMap简单的方法

    HashMap遍历的常用方法主要有三种:迭代器(Iterator)遍历、键集(KeySet)遍历以及 Entry 集(entrySet)遍历。下面将逐一介绍这些方法。 1. 迭代器遍历: HashMap提供了迭代器接口(Iterator),可以通过调用`...

    Java 实例 - HashMap遍历源代码-详细教程.zip

    - **迭代器方式**:HashMap提供了`keySet()`、`values()`和`entrySet()`方法,返回相应的Set视图。可以使用迭代器遍历这些集合,分别获取键集、值集和键值对集。 - **foreach循环**:Java 5引入了增强的for循环...

    Hash Map for geeks_hashmap_Geeks_源码

    - `entrySet()`,`keySet()`和`values()`:分别返回所有键值对的集合,键的集合和值的集合。 **性能考虑:** - 哈希函数的质量直接影响HashMap的性能。良好的哈希函数应尽量避免哈希冲突,以提高查找效率。 - 加载...

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

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

Global site tag (gtag.js) - Google Analytics