java hashmap遍历顺序_Java中HashMap遍历的两种方式
第一种:
Map map = HashMap();
Iterator iter = map.entrySet().iterator();
(iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
效率高,以后一定要使用此种方式!
第二种:
Map map = HashMap();
Iterator iter = map.keySet().iterator();
(iter.hasNext()) {
Object key = iter.next();
Object val = map.get(key);
}
效率低,以后尽量少使用!
HashMap的遍历有两种常用的方法,那就是使用keyset及entryset来进行遍历,但两者的遍历速度是有差别的,下
面请看实例:
HashMapTest {
main(String[] args) ...{
HashMap hashmap = HashMap();
( i = 0; i
hashmap.put("" i, "thanks");
}
bs = Calendar.getInstance().getTimeInMillis();
Iterator iterator = hashmap.keySet().iterator();
(iterator.hasNext()) ...{
System.out.print(hashmap.get(iterator.next()));
}
System.out.println();
System.out.println(Calendar.getInstance().getTimeInMillis() - bs);
listHashMap();
}
listHashMap() ...{
java.util.HashMap hashmap = java.util.HashMap();
( i = 0; i
hashmap.put("" i, "thanks");
}
bs = Calendar.getInstance().getTimeInMillis();
java.util.Iterator it = hashmap.entrySet().iterator();
(it.hasNext()) ...{
java.util.Map.Entry entry = (java.util.Map.Entry) it.next();
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中,所以就快了。
java hashmap遍历顺序_Java中HashMap遍历的两种方式相关推荐
- java如何实现多线程_Java中实现多线程的两种方式
/** * 使用Thread类模拟4个售票窗口共同卖100张火车票的程序 * * 没有共享数据,每个线程各卖100张火车票 * * @author jiqinlin * */public class ...
- java多线程区别_Java中实现多线程的两种方式之间的区别
Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对象描述了一个单独的线程.要产生一个线 ...
- java类初始数组_java中数组初始化的三种方式是什么
java中数组初始化的三种方式是:1.静态初始化,如[int a[] = {2, 0, 1, 9, 2020}]:2.动态初始化,如[int[] c = new int[4]]:3.默认初始化,如[i ...
- java new class 直接调用_java中创建对象的的两种方式具体解释,一个是new一个是调用Class类的newinstance方法?...
展开全部 1.new 使用java的关键字new来创建对象实例.构造函数链中的所有构造函数都32313133353236313431303231363533e78988e69d833133333739 ...
- java 如何初始化数组_java中初始化数组的三种方式分别是什么
三种初始化方式: 1.静态初始化:创建+赋值 2.动态初始化:先创建再赋值 3.默认初始化:创建之后若不赋值则会被赋对应数据类型的默认值 (视频教程推荐:java视频) 我们来看一下具体代码:publ ...
- java中创建两种线程的方式_java中创建线程的两种方式有什么区别?
*** 一.创建线程 1.继承Thread类 定义类继承Thread, 重写run()方法, 将线程中要执行的代码写在run()方法中 创建该类对象, 调用start()方法就可以开启一条新线程, 新 ...
- java获取文件后缀_Java获取文件后缀的两种方式
在对文件进行操作的时候,我们经常需要用到文件的后缀.但是Java API中并没有提供获取文件后缀的方法.下面的工具方法可以帮助我们实现这个目的. 方法1 代码示例: package org.4spac ...
- 实验四:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
贺邦+原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验目的: 使用库函数 ...
- sh执行文件 参数传递_详解shell中脚本参数传递的两种方式
方式一:$0,$1,$2.. 采用$0,$1,$2..等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${ ...
最新文章
- 在哪里刷题_刷题过程中,这些坑你踩了几个?
- Java Stringbuilder简单介绍
- PHP案例 网页计数器设计
- 浅谈Floyd的三种用法 By cellur925
- [css] 为什么float会导致父元素塌陷
- Python | 不使用库函数将十进制数转换为二进制
- gps导航计算机毕业设计开题报告,GPS导航计算机毕业设计开题报告.doc
- KMP算法 --- 在文本中寻找目标字符串
- 一道看似简单的sql需求却难倒各路高手 - 你也来挑战下吗?
- html5选择时间,科技常识:HTML5新控件之日期和时间选择输入的实现代码
- 基于PCA的ORL人脸识别---Python
- 11:c# oop思想面向对象编程(by-朝夕)
- Sublime Text编辑器设置中文
- 如何在电脑上下载node.js并启动相应网易云服务器最全【该服务器见尚硅谷2021版微信小程序开发p20】
- MySQL第41题怎么评分_MySQL试题-测试、复习、查看
- 图象关于y轴对称是什么意思_关于x轴对称-图象关于y轴对称是什么函数
- 别做梦了,社交产品哪有那么容易成功
- PAT甲级真题 1064 完全二叉搜索树
- 【ELT.ZIP】OpenHarmony啃论文俱乐部——点燃主缓存压缩技术火花
- 【DL】基于pytorch搭建BP神经网络/人工神经网络/多层感知机/全连接神经网络的鸢尾花分类
热门文章
- 学习java的中文网站_学习java的网站有哪些
- python程序调试logging_python-logging模块的简单使用
- iphone7防水_什么是IP68防尘防水,您的手机是IP68级别手机,进水也不给保修
- 面向对象也可以搞单片机!
- c语言贪吃蛇运行代码,刚学C语言,想写一个贪吃蛇的代码
- python中、变量指向的对象可以发生变化吗_python中的引用传递,可变对象,不可变对象,list注意点...
- wxpython收费吗_wxPython 使用总结
- pdf导入ps颜色太浅_PDF 文件编辑转换难?或许你需要一个扫描全能王!
- python设计自定义函数_python
- php伪静态url运用,再谈 THINKPHP 伪静态url(URL访问模式)的设置