`

HashMap遍历的两种方式,推荐使用entrySet()

阅读更多
第一种:
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); 
} 

效率低,以后尽量少使用!


import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;

public class HashMapTest {
	public static void main(String[] args) {
		keySet();
		entrySet();
	}

	public static void keySet() {
		HashMap<Integer,String> hashmap = new HashMap<Integer,String>();
		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.err.println(Calendar.getInstance().getTimeInMillis() - bs);
	}
	
	public static void entrySet() {
		HashMap<Integer,String> hashmap = new HashMap<Integer,String>();
		for (int i = 0; i < 1000; i++) {
			hashmap.put(i, "thanks");
		}
		long bs = Calendar.getInstance().getTimeInMillis();
		Iterator it = hashmap.entrySet().iterator();
		while (it.hasNext()) {
			Entry entry = (Entry) it.next();
			// entry.getKey() 返回与此项对应的键
			// entry.getValue() 返回与此项对应的值
			System.out.print(entry.getValue());
		}
		System.out.println();
		System.err.println(Calendar.getInstance().getTimeInMillis() - bs);
	}
}
分享到:
评论

相关推荐

    HashMap遍历

    本文将深入探讨`HashMap`的遍历方法,包括`keySet()`和`entrySet()`两种主要方式,并通过代码示例对比它们的性能差异。 #### 方法一:使用`keySet()`遍历 `keySet()`方法返回`HashMap`中的所有键的集合视图。通过...

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

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

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

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

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

    最后一种方式是遍历entrySet的迭代器。这允许我们在循环中直接访问Map.Entry对象,从而同时获取键和值。 在选择遍历HashMap的方法时,应根据实际需求来决定。如果只需要遍历值,方式二和五更简洁;如果需要同时...

    FLEX HashMap遍历并取到需要的值

    标题中提到的"FLEX HashMap遍历并取到需要的值",是指在编程中如何使用Java语言的HashMap集合类型进行遍历,并且从中取得符合特定条件的数据值。HashMap是一种基于哈希表的Map接口实现,它允许我们存储键值对,其中...

    另一种遍历Map的方式

    "遍历Map的方式" Map是一种常用的数据结构,在Java中有多种遍历Map的...遍历Map有多种方式,使用Map.Entry和Map.entrySet()是一种简洁易懂的方式。它可以直接获取Key和Value,不需要每次重复返回到Map中取得相对的值。

    java中Map的两种遍历方法

    本文将详细探讨在Java中遍历`Map`的两种常用方法:通过`keySet()`方法和通过`entrySet()`方法。 ### 一、通过`keySet()`方法遍历`Map` #### 方法概述 `keySet()`方法返回一个包含`Map`中所有键的`Set`视图。通过...

    HashMap总结

    HashMap 使用链表来解决哈希冲突的问题,即当两个键的哈希值相同时,HashMap 使用链表来存储这些键值对。 HashMap 的应用场景 1. 缓存机制:HashMap 可以用来实现缓存机制,例如缓存用户信息、缓存查询结果等。 2....

    如何得到hashmap的索引

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

    JAVA遍历Map所有元素.doc

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

    hashmap使用实例

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

    Java Map遍历方式的选择

    遍历key+value时,测试包含了keySet和entrySet的两种常见实现方式。keySet的两种遍历方式都需要额外的`get`操作,但它们的性能差异可能取决于get操作的效率。entrySet的两种方式则直接处理Entry对象,减少了查找步骤...

    hashmap 实例

    此外,当容量需要扩大时,Vector 扩容为原来的两倍,ArrayList 只扩大50%,使得 ArrayList 在内存使用上更为高效。 **Hashtable 和 HashMap:** 两者都是基于哈希表的数据结构,但 Hashtable 是线程安全的,而 ...

    HASHMAP排序功能描述

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

    java遍历Map对象的说有数据

    以上介绍了两种遍历`Map`的方法:一种是通过`entrySet()`方法,另一种是通过`keySet()`方法。其中,使用`entrySet()`可以直接获取到键值对,而使用`keySet()`则需要额外调用`get()`方法来获取对应的值。这两种方法各...

    如何遍历一个java集合

    遍历ArrayList通常有两种方式: 1. **迭代器(Iterator)**:Java提供了一种标准的遍历机制——Iterator接口。你可以通过调用`iterator()`方法获取迭代器,然后使用`hasNext()`和`next()`方法遍历集合的所有元素。...

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

    一般有两种方式:一是通过keySet()获取键的集合并遍历,二是通过entrySet()获取键值对的集合进行遍历: ```java HashMap, String&gt; map = new HashMap(); map.put("Key1", "Value1"); map.put("Key2", "Value2"); ...

    java遍历大容量map的正确方法.pdf

    // 使用推荐的遍历方式 for (Map.Entry, String&gt; entry : map.entrySet()) { // ... } long endTime = System.currentTimeMillis(); System.out.println("遍历耗时: " + (endTime - startTime) + " 毫秒"); ``` ...

Global site tag (gtag.js) - Google Analytics