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

Java遍历Map的四种方法及对比

阅读更多
package cn.sf.util; 
2. 
3.import java.util.HashMap; 
4.import java.util.Iterator; 
5.import java.util.Map; 
6.import java.util.Map.Entry; 
7.import java.util.Set; 
8. 
9.public class TestMap { 
10. 
11.    /**
12.     * 方法一 在for-each循环中使用entries来遍历
13.     * 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用
14.     */ 
15.    public void testMap1(){ 
16.        Map<String, String> map = new HashMap<String, String>(); 
17.        map.put("map1", "1"); 
18.        map.put("map2", "2"); 
19.        map.put("map3", "3"); 
20.         
21.        Set<String> keys = map.keySet(); 
22.        for (String key : keys) { 
23.            System.out.println(key+"---"+map.get(key)); 
24.        } 
25.    } 
26.    /**
27.     * 方法一 :如果只需要map中的键或者值,你可以通过keySet或values来实现遍历
28.     * 比entrySet性能
29.     */ 
30.    public void testMap2(){ 
31.        Map<String, String> map = new HashMap<String, String>(); 
32.        map.put("map1", "1"); 
33.        map.put("map2", "2"); 
34.        map.put("map3", "3"); 
35.         
36.        Set<String> keys = map.keySet(); 
37.        for (String key : keys) { 
38.            System.out.println("key:"+map.get(key)); 
39.        } 
40.        for (String value :  map.values()) { 
41.            System.out.println("value:"+value); 
42.        } 
43.    } 
44.    /**
45.     * 方法三:使用Iterators
46.     */ 
47.    public void testMap3(){ 
48.        Map<String, String> map = new HashMap<String, String>(); 
49.        map.put("map1", "1"); 
50.        map.put("map2", "2"); 
51.        map.put("map3", "3"); 
52.        Iterator<Entry<String, String>> iterators = map.entrySet().iterator(); 
53.        while(iterators.hasNext()){ 
54.            Entry<String, String> entry = iterators.next(); 
55.            System.out.println(entry.getKey()+"---"+entry.getValue()); 
56.        } 
57.    } 
58.     
59.    /**
60.     * 方法四 :通过键找值遍历(效率低)
61.     */ 
62.    public void testMap4(){ 
63.        Map<String, String> map = new HashMap<String, String>(); 
64.        map.put("map1", "1"); 
65.        map.put("map2", "2"); 
66.        map.put("map3", "3"); 
67.         
68.        for (Map.Entry<String, String> entry : map.entrySet()) { 
69.            System.out.println(entry.getKey()+"--"+entry.getValue()); 
70.        } 
71.    } 
72.    public static void main(String[] args) { 
73.        TestMap testMap = new TestMap(); 
74.        testMap.testMap1(); 
75.        System.out.println(); 
76.        testMap.testMap2(); 
77.        System.out.println(); 
78.        testMap.testMap3(); 
79.        System.out.println(); 
80.        testMap.testMap4(); 
81.    } 
82.} 
分享到:
评论

相关推荐

    map遍历的四种方法

    本文将详细介绍四种不同的遍历`Map`的方式,并通过具体的代码示例来解释每种方法的特点及适用场景。 #### 一、通过`Map.keySet()`遍历键和值 这种方法首先获取`Map`的所有键集合(`keySet`),然后通过迭代器或者...

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

    ### Java中遍历Map的四种方式及性能比较 在Java编程中,`Map`是一种非常重要的数据结构,用于存储键值对。对于`Map`的遍历,不同的遍历方式有着不同的性能表现以及适用场景。本文将详细介绍四种常见的遍历`Map`的...

    JAVA遍历Map所有元素.doc

    本文将详细讲解两种主要的遍历Map元素的方法,并分析它们的效率差异。 ### 方法一:通过`entrySet()`遍历 这是推荐的遍历Map元素的方式,因为它具有较高的效率。通过调用`Map.entrySet()`方法,我们可以获取到Map...

    java中Map的两种遍历方法

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

    Java Map 遍历实例与效率比较

    主要提供java中的map的遍历实例及效率比较

    Java Map 遍历比较齐全的解析.docx

    3. **Java 8及Lambda表达式遍历Map** 自Java 8开始,引入了Lambda表达式,使得遍历`Map`更加简洁。 ```java map.keySet().forEach(key -&gt; System.out.println("map.get(" + key + ") = " + map.get(key))); ``` ...

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

    以下是对标题和描述中提及的四种遍历Map方法的详细说明: 1. **通过Map.keySet遍历key和value** 这种方法是最直观的,直接获取Map的keySet并进行迭代。代码简洁,但存在效率问题。在遍历过程中,每次获取value都...

    Java遍历Map键、值和获取Map大小的方法示例

    总结一下,Java中遍历Map主要有两种方法:通过`keySet()`遍历键并获取值,或通过`entrySet()`直接遍历键值对。获取Map大小则简单地调用`size()`方法即可。这些基本操作对于理解和使用Map数据结构至关重要,无论是在...

    java集合遍历的几种方式总结及详细比较

    Java集合遍历的几种方式总结及详细比较 Java集合遍历是Java编程中最基本也是最重要的操作之一。集合遍历是指对集合中的每个元素进行访问和处理的过程。Java中提供了多种集合遍历方式,包括迭代器遍历、Map遍历、...

    java实现遍历Map的方法

    首先,Java提供了两种主要的方式来遍历Map:迭代器(Iterator)方式和增强for循环(foreach)方式。 ### 1. 迭代器方式 迭代器方式是通过调用Map的`keySet()`方法获取所有的键,然后通过迭代器遍历这些键,再使用`...

    Map遍历方法总结

    根据提供的内容,本文将详细介绍四种不同的`Map`遍历方法,并对比它们之间的优缺点,以便开发者可以根据实际需求选择最适合的方法。 #### 三、Map.Entry概念解析 `Map.Entry`是`Map`接口定义的一个内部接口,专门...

    Java HashMap的三种遍历方法及优缺点含示例

    Java HashMap是一种灵活高效的数据结构,在进行遍历时,选择合适的遍历方法可以大幅提升代码的执行效率和可读性。entrySet()方法适用于需要同时处理键和值的情况,keySet()方法适用于只需要键的情况,而values()方法...

    JAVA_MAP_+_LIST_SET和MAP的区别+_Map的三种遍历方法

    #### 四、Map 的遍历方法 **1. 使用 keySet 遍历** ```java for (Object key : map.keySet()) { Object value = map.get(key); System.out.println("Key: " + key + ", Value: " + value); } ``` **2. 使用 ...

    java遍历HashMap简单的方法

    这种方式也是比较常见的遍历方法,如下所示: ```java HashMap, String&gt; map = new HashMap(); // ... 添加键值对 Set&lt;String&gt; keySet = map.keySet(); for (String key : keySet) { String value = map.get(key);...

    java中map的使用实例

    遍历Map有多种方式,一种是使用`entrySet()`,它可以返回Map中所有的键值对: ```java for (Map.Entry, Integer&gt; entry : map.entrySet()) { System.out.println("Key: " + entry.getKey() + ", Value: " + entry....

    Java Map 集合类简介

    Map接口定义了四个主要的方法,所有Map实现都必须实现这些方法。其中,`equals(Object o)`和`hashCode()`方法用于比较Map的等价性,确保了Map的正确比较和存储。插入和删除元素的操作由`put(Object key, Object ...

    Java Map遍历方式的选择

    Java Map的遍历方式在实际应用中是一个重要的性能优化考虑因素。常见的遍历方式有三种:keySet、entrySet和values。很多开发者推荐使用entrySet,认为它比keySet更高效,因为entrySet能一次性获取键值对,避免了额外...

Global site tag (gtag.js) - Google Analytics