博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
遍历hashMap的两种方式
阅读量:4687 次
发布时间:2019-06-09

本文共 1727 字,大约阅读时间需要 5 分钟。

第一种:   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中,所以就快了。

转载于:https://www.cnblogs.com/Baronboy/p/6206010.html

你可能感兴趣的文章
Microsoft Office word powerpoint 中删除MathType加载项后每次启动显示加载错误
查看>>
剑指offer54 表示数值的字符串
查看>>
h5py
查看>>
网络的四层架构与网站的数据库的用户信息表的设计
查看>>
响应在此上下文中不可用
查看>>
Mysql入门-基本操作(一)
查看>>
git-gui
查看>>
splay入门教程
查看>>
Queryable.Union 方法实现json格式的字符串合并
查看>>
福大软工1816:Beta总结
查看>>
windows服务创建与管理
查看>>
jquery监听div或者span内文本值的改变
查看>>
拜耳阵列
查看>>
C 语言 变量的赋值和初始化
查看>>
如何做LR自动关联和手动关联?
查看>>
【基于WinForm+Access局域网共享数据库的项目总结】之篇一:WinForm开发总体概述与技术实现...
查看>>
[leetcode]Jump Game
查看>>
一年成为Emacs高手(像神一样使用编辑器)
查看>>
WindowsPhone&amp;Windows8.1&amp;Windows8&amp;Unity3d 填坑日记
查看>>
C++定义比较函数的几种方法
查看>>