`
OracleX
  • 浏览: 123893 次
  • 性别: Icon_minigender_1
  • 来自: 地球
社区版块
存档分类
最新评论

Map遍历方法1

    博客分类:
  • J2SE
 
阅读更多
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
 
public class IteratorMap {
 
    public static void main(String args[]) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("a", "wang");
        map.put("b", "WANG");
        new IteratorMap().iterator1(map);
        System.out.println("----------------------------");
        new IteratorMap().iterator2(map);
        System.out.println("----------------------------");
        new IteratorMap().iterator3(map);
        System.out.println("----------------------------");
        new IteratorMap().iterator4(map);
    }
 
    public void iterator1(Map<String, String> map) {
        Set<String> set = map.keySet();
        for (String s : set) {
            System.out.println(s + ", " + map.get(s));
        }
    }
 
    // 第二种最优
    /**
     * 尤其在hash碰撞的情况下,第一种和第三种需要循环map里面的table[],对每一个Entry的key进行比较,如果相等才返回,
     * 在最不理想的情况下,一直要循环到最后一个才能返回结果。
     *
     * 所以,如果用在循环中用get(key)方法来获得value的话,无疑是循环中套循环。复杂度一下子就升了一个数量级。
     *
     * 并且在map的initialCapacity设值不是很合理的情况下,发生hash碰撞的几率会大大提升,
     * 一般比较好的是把initialCapacity设为2的n次幂比较合理。
     */
    public void iterator2(Map<String, String> map) {
        Set<Map.Entry<String, String>> entrySet = map.entrySet();
        for (Map.Entry<String, String> entry : entrySet) {
            System.out.println(entry.getKey() + "," + entry.getValue());
        }
    }
 
    public void iterator3(Map<String, String> map) {
        Iterator<String> it = map.keySet().iterator();
        while (it.hasNext()) {
            System.out.println(it.next() + "," + map.get(it.next()));
        }
    }
 
    public void iterator4(Map<String, String> map) {
        Iterator<String> it = map.values().iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
    }
}

 

分享到:
评论

相关推荐

    java Map 遍历方法

    ### Java Map遍历方法详解 在Java编程语言中,`Map`接口是集合框架中的一个核心组成部分,它存储键值对映射。本篇文章将详细介绍几种常用的遍历`Map`的方法,包括使用传统迭代器(Iterator)、增强型for循环(For-...

    map遍历的四种方法

    ### Map遍历的四种方法 在Java编程语言中,`Map`是一种常用的数据结构,用于存储键值对。为了能够有效地处理和操作这些键值对数据,熟练掌握遍历`Map`的方法至关重要。本文将详细介绍四种不同的遍历`Map`的方式,并...

    map遍历的三种方法

    Map 遍历是集合操作中的一种重要操作,一般来说,有三种方式来遍历 Map 集合:使用 values() 方法遍历、使用 keySet() 方法遍历和使用 entrySet() 方法遍历。 第一种方法:使用 values() 方法遍历 这个方法是最...

    Map遍历方法总结

    ### Map遍历方法总结 #### 一、引言 在Java编程中,`Map`是一种常用的集合类型,用于存储键值对数据。由于其高效的数据查找特性,在许多场景下都有广泛的应用。对于开发者来说,了解如何有效地遍历`Map`中的元素是...

    map的遍历方法 有几种? 帮你选择最好的遍历方式

    你知道map的遍历方法有几种吗? 那这几种的区别是什么呢? 那种更简单、高效呢? 我的资源文件将告诉你。

    java Map遍历方法

    这篇博文主要探讨了如何遍历Java中的`Map`对象,下面将详细介绍几种常见的遍历`Map`的方法。 1. **迭代器法**: Java提供了`Map`接口的`entrySet()`方法,返回一个包含`Map`中所有键值对的`Set`视图。通过这个`Set...

    java中Map的两种遍历方法

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

    Map最常规的两种遍历方法

    .Map集合的遍历方法 Map集合是Java中的一种常用的数据结构,用于存储键值对的数据。Map集合的遍历是指从Map集合中取出所有的键值对,并进行处理的过程。在实际开发中,Map集合的遍历是非常常见的操作。本文将介绍...

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

    本文将详细介绍四种常见的遍历`Map`的方法,并对比它们的性能差异。 #### 方法一:遍历Entry Set 这是最常见的遍历方式,在大多数情况下也是最推荐使用的。当需要同时访问键和值时,可以通过遍历`Map`的`entrySet...

    Map遍历方法

    ### Map遍历方法详解 #### 一、引言 在Java编程中,`Map`是一种常用的集合类型,用于存储键值对数据。由于其高效的数据查找特性,在许多场景下都有广泛的应用。对于开发者来说,掌握如何有效地遍历`Map`中的元素是...

    C++11 unordered_map与map(插入,遍历,Find)效率对比。

    - `std::unordered_map`:遍历哈希表通常需要遍历所有桶,因此其时间复杂度也是O(n),但实际运行速度可能比`std::map`快,尤其是当元素数量很大时。 **查找操作**: - `std::map`:查找操作同样为O(log n),因为...

    struts2中的map遍历

    在Struts2中,Map遍历是一个常见的功能,它允许开发者动态地展示或操作存储在Map中的数据。这个功能在处理表单提交、传递参数或者在视图层展示数据时尤为有用。 首先,让我们理解Map遍历的基本概念。Map是一种键值...

    Freemarker 遍历Map数据

    //测试1 @RequestMapping(/test1) public String test1(Model model){ //向数据模型放数据 model.addAttribute(name,三年二班); Student stu1 = new Student(); stu1.setName(小明); st

    JAVA8独有的map遍历方式(非常好用)

    总结来说,Java 8为Map遍历提供了更多现代且高效的手段,包括Lambda表达式、Stream API和`forEach()`方法,让开发者在处理Map数据结构时拥有更大的灵活性和更高的性能。这些新特性极大地提高了代码的可读性和维护性...

    Map的四种遍历方法

    该资源摘自: http://www.cnblogs.com/kristain/articles/2033566.html

    遍历MAP的几种方法

    遍历MAP的几种方法,利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,更具灵活性

    map集合遍历的五种方法

    这是最基本的遍历方式,通过Map接口提供的`iterator()`方法获取迭代器,然后通过`next()`方法获取键值对。示例代码如下: ```java Map, Integer&gt; map = new HashMap(); for (Map.Entry, Integer&gt; entry : map....

    Java Map 遍历实例与效率比较

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

    java集合MAP三种遍历

    本文将详细介绍Java中Map集合的三种遍历方法及其应用场景、优缺点等,帮助读者更好地理解和掌握Map的使用技巧。 ### 一、Map简介 `Map`接口是Java集合框架的一部分,它提供了基于键值对的数据存储方式。常见的实现...

    java-遍历map

    本文将深入探讨如何在Java中使用`keySet`方法来遍历`Map`集合,以及相关的知识点。 ### 一、Java Map接口简介 `Map`接口是Java集合框架的一部分,它提供了存储和检索唯一键对象及其对应的值对象的方法。一个`Map`...

Global site tag (gtag.js) - Google Analytics