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

HashMap的两种遍历方式

阅读更多

HashMap的两种遍历方式

 

HashMap存储的是键值对:key-value 。

 

java将HashMap的键值对作为一个整体对象(java.util.Map.Entry)进行处理,这优化了HashMap的遍历处理。

 

第一种:(只遍历一次,将key及value都放到entry中,效率高)

 

    Map map = new HashMap();    

    Iterator iter = map.entrySet().iterator();    

    while (iter.hasNext()) {    

        java.util.Map.Entry entry = (Map.Entry) iter.next();    

        Object key = entry.getKey();    

        Object val = entry.getValue();    

    }  

 

 

第二种:(遍历2次,第一次是获取iterator时,第二次是从hashmap中取出key所对应的value.效率低)

 

     Map map = new HashMap();    

    Iterator iter = map.keySet().iterator();    

    while (iter.hasNext()) {    

        Object key = iter.next();    

        Object val = map.get(key);    

    }  

 

 

 

以上是HashMap 的二种 key  value 的遍历方式。

 

 

分享到:
评论

相关推荐

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

    HashMap是一种基于哈希表的Map接口实现,主要用于存储键值对。它允许空值和空键。其主要特点是通过键的哈希值存储值,并提供了添加、获取和操作存储值的方法。 HashMap的底层数据结构是由数组和链表组成的。数组是...

    人工智能-项目实践-python-顺序表、链表、栈、队列、树、Hashmap等数据结构;排序、二分法查找、树遍历等常见算法实现

    顺序表、链表、栈、队列、树、...Python中的list和tuple两种类型采用了顺序表的实现技术 链表 单向链表 双向链表 单向循环链表 栈 队列 FIFO队列 LIFO队列 优先队列(Priority Queue) 双端队列(double-ended queue)

    Map

    掌握上述的每个方法的应用(采用String,Integer等JDK已提供的引用数据类型),重点掌握数据的存储及遍历的方式(两种遍历方式都要掌握) 四、深入分析HashMap的存储 深入掌握HashMap的关键技术点,如何区分是否重复...

    sesvc.exe 阿萨德

    不然就按照链表的方式遍历匹配返回值。 从这两个核心方法(get/put)可以看出 1.8 中对大链表做了优化,修改为红黑树之后查询效率直接提高到了 O(logn)。 但是 HashMap 原有的问题也都存在,比如在并发场景下使用时...

    java编程宝典

    两种方式的卖票线程 1) 继承 Thread 类,数据无法共享 14 2) 实现 Runnable 接口,数据可以共享(推荐) 15 2.每两秒钟生成一个验证码 17 2. 抽奖小程序 21 5工具类 31 4.1 如何将一个java.util.Date转成一个java....

    关于JAVA面试的100题及其答案

    Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来...

    leetcode和oj-Problem_Solutions_OJ:codeforces、UVA、Spoj、hackerearth等在线评委

    有两种方式 -> 第一种是反转字符串,另一种是反转并检查(接受) 13 -罗马到整数 - 接受 20 - 有效括号 - 接受 101 - 对称树 102 - 二叉树级顺序遍历 342 -四的幂(检查提醒方法-log(n),对数解(复杂性-Java的...

    leetcode答案-DailyStudy:每日学习

    target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素 本题具有多种解法 简单一点的可以直接暴力遍历求解...

    leetcode分类-ARTS:1.Algorithm:每周至少做一个leetcode的算法题2.Review:阅读并点评至少一篇英文技术文章

    求众数,两种实现方式: 1 hashmap 2 先排序,再取下标为len/2的值 分享:spark shuffle 算法: 朴素贝叶斯 决策树 第四周打卡: leetcode: 缺失的最小正整数:部分数据比较并替换,排好序后再依次遍历。 share: ...

    进销存系统文档作业例子

    Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来...

    leetcode解码方法Python-leetcode:Leetcode的Cpp和Python解决方案的基本思想

    具体方法在第一种方案中描述。 标题 解决方案 困难 基本理念 简单的 1. 两点2. 哈希表 简单的 1. Python3中的mod和floor划分 中等的 用贪婪的思维解码映射 简单的 字符串遍历 简单的 堆 中等的 递归 简单的 双指针 ...

    java面试题

    47. 两种跳转方式分别是什么?有什么区别? 22 48. get和post的区别? 22 49. JDK,JRE,JVM的区别? 22 50. Java中常见类,方法,接口 23 51. 多线程 23 51.1. 线程的基本概念 23 51.2. Java中的线程有四种状态 23 51.3...

    JAVA面试题最全集

    除了使用new关键字创建对象意外,试列举另外三种以上创建实例的方式? 37.classloader中,JDK的API、Classpath中的同web-inf中的class加载方式有什么区别? 38.列举三种以上垃圾回收算法,并比较其优缺点? 39....

    leetcode实践

    17种排列组合46排序组合48排序组合78排序组合22递归创建括号回溯39个向量递归组合回溯120个向量递归组合回溯437相互调用转换度高637 BFS试图估计已经有维二维结果存储94 144 145递归实现深度遍历以及使用栈实现深度...

    超级有影响力霸气的Java面试题大全文档

     Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常...

    java 面试题 总结

    Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来...

    Leetcode的ac是什么意思-LeetCode:练习LeetCode

    Leetcode的ac是什么意思 LeetCode解题 第一题:Two Sum 这题是给你一个整数的数组,然后给你一个...第一钟解题思路就是两个for循环来遍历出每一种字串,然后将这个字串放在一个方法里来判断这个字串是否存在重复,不重

    set.list.map接口

    2. 两个实现类HashSet(LinkHashSet)和TreeSet,TreeSet有排序功能(Set set=new TreeSet();set.add(new Integer(8)); set.add(new Integer(4)); set.add(new Integer(7));)输出后的结果是:4 7 8 Eg: package test...

    疯狂JAVA讲义

    学生提问:使用组合关系来实现复用时,需要创建两个Animal对象,是不是意味着使用组合关系时系统开销更大? 159 5.9 初始化块 159 5.9.1 使用初始化块 160 5.9.2 初始化块和构造器 161 5.9.3 静态初始化块 162 ...

Global site tag (gtag.js) - Google Analytics