//最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的,就不多说了!!
public static void work(Map<String, Student> map) {
Collection<Student> c = map.values();
Iterator it = c.iterator();
for (; it.hasNext();) {
System.out.println(it.next());
}
}
//利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,更具灵活性!!
public static void workByKeySet(Map<String, Student> map) {
Set<String> key = map.keySet();
for (Iterator it = key.iterator(); it.hasNext();) {
String s = (String) it.next();
System.out.println(map.get(s));
}
}
//比较复杂的一种遍历在这里,呵呵~~他很暴力哦,它的灵活性太强了,想得到什么就能得到什么~~
public static void workByEntry(Map<String, Student> map) {
Set<Map.Entry<String, Student>> set = map.entrySet();
for (Iterator<Map.Entry<String, Student>> it = set.iterator(); it.hasNext();) {
Map.Entry<String, Student> entry = (Map.Entry<String, Student>) it.next();
System.out.println(entry.getKey() + "--->" + entry.getValue());
}
}
}
//JDK1.5
Map map = new HashMap();
for(Object obj : map.keySet()) {
Object key = obj;
Object value = map.get(obj);
}
//JDK1.4
Map map = new HashMap() ;
Iterator iter = map.entrySet().iterator();
while(iter.hasNext()) {
Map.Entry entry = (Map.Entry)iter.next();
Object key = entry.getKey();
Object value = entry.getValue();
}
第一种:
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的遍历方法和以上的差不多!
分享到:
相关推荐
### Java Map遍历方法详解 在Java编程语言中,`Map`接口是集合框架中的一个核心组成部分,它存储键值对映射。本篇文章将详细介绍几种常用的遍历`Map`的方法,包括使用传统迭代器(Iterator)、增强型for循环(For-...
主要提供java中的map的遍历实例及效率比较
本篇将详细介绍Java中遍历`Map`的不同方法,以及如何获取`Map`的长度。 1. **遍历Map** - **方法一:通过`Map.keySet()`遍历** 这是最基础的遍历方式,通过获取`Map`的`keySet`,然后用增强型for循环遍历`keySet`...
这篇博文主要探讨了如何遍历Java中的`Map`对象,下面将详细介绍几种常见的遍历`Map`的方法。 1. **迭代器法**: Java提供了`Map`接口的`entrySet()`方法,返回一个包含`Map`中所有键值对的`Set`视图。通过这个`Set...
本文将深入探讨如何在Java中使用`keySet`方法来遍历`Map`集合,以及相关的知识点。 ### 一、Java Map接口简介 `Map`接口是Java集合框架的一部分,它提供了存储和检索唯一键对象及其对应的值对象的方法。一个`Map`...
Java Map遍历方法是编程中常见的操作,尤其是在处理键值对数据时。Map接口在Java中扮演着重要的角色,它提供了存储和检索键值对的能力。以下是对Java Map遍历方法的详细介绍: 1. **使用迭代器遍历**: 这是最基础的...
在Java编程中,Map接口是用于存储键值对的数据结构,它提供了多种遍历Map的方法。本篇文章将详细分析Java中遍历Map的四种常见方法,帮助开发者更好地理解和运用这些技巧。 1. **for-each循环遍历** Java 5引入了...
以下是关于Java 8独有的Map遍历方式的详细说明: 1. **通过`Map.keySet()`遍历** 在Java 8之前,遍历Map的传统方式是通过`Map.keySet()`获取所有的键,然后用for-each循环遍历这些键并获取对应的值。在Java 8中,...
Java Map的遍历方式在实际应用中是一个重要的性能优化考虑因素。常见的遍历方式有三种:keySet、entrySet和values。很多开发者推荐使用entrySet,认为它比keySet更高效,因为entrySet能一次性获取键值对,避免了额外...
Map 遍历是集合操作中的一种重要操作,一般来说,有三种方式来遍历 Map 集合:使用 values() 方法遍历、使用 keySet() 方法遍历和使用 entrySet() 方法遍历。 第一种方法:使用 values() 方法遍历 这个方法是最...
本文将详细介绍Java中Map集合的三种遍历方法及其应用场景、优缺点等,帮助读者更好地理解和掌握Map的使用技巧。 ### 一、Map简介 `Map`接口是Java集合框架的一部分,它提供了基于键值对的数据存储方式。常见的实现...
这是一人篇关于JAVA MAP遍历的讲解的文章,希望对你有用
以下是Java中Map遍历的四种常见方法: 1. **传统迭代器方法**: 这是最基础的遍历Map的方法,通过调用`keySet()`方法获取Map的所有键,然后使用迭代器遍历键集。在每次迭代中,使用`get()`方法获取对应的值。 ```...
本篇文章将详细讲解如何在Java中遍历Map并获取其键(key)。 1. **Map接口概述** Map接口在Java集合框架中定义了存储键值对的方法。每个键都是唯一的,通过键可以访问对应的值。Map接口没有实现List或Set接口,...
Java 遍历取出Map集合key-value数据的4种方法 在Java中,Map集合是一种常用的数据结构,用于存储键值对数据。但是,在实际开发中,我们经常需要遍历取出Map集合中的键值数据。本文将介绍四种遍历取出Map集合key-...
### Java中遍历Map的四种方式及性能比较 在Java编程中,`Map`是一种非常重要的数据结构,用于存储键值对。对于`Map`的遍历,不同的遍历方式有着不同的性能表现以及适用场景。本文将详细介绍四种常见的遍历`Map`的...
### Map遍历的四种方法 在Java编程语言中,`Map`是一种常用的数据结构,用于存储键值对。为了能够有效地处理和操作这些键值对数据,熟练掌握遍历`Map`的方法至关重要。本文将详细介绍四种不同的遍历`Map`的方式,并...
### Java遍历JSON树知识点详解 #### 一、前言 在处理Web应用程序中的数据时,JSON(JavaScript Object Notation)是一种非常常见的数据格式。它轻量级且易于读写,因此广泛应用于前后端的数据交互中。对于Java...
Java HashMap 遍历和删除元素方法小结 Java HashMap 是一种常用的数据结构,用于存储键值对儿,但是在遍历和删除元素时,需要注意一些特殊的情况,否则可能会出现异常或错误。本文将介绍 Java HashMap 遍历和删除...