java调用xdotool_【转】java Map 遍历速度最优解
第一种:
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中,所以就快了。
注:Hashtable的遍历方法和以上的差不多!
java调用xdotool_【转】java Map 遍历速度最优解相关推荐
- java 轻量级map,java Map 遍历速度最优解
java Map 遍历速度最优解 第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (ite ...
- java map遍历最快_Java Map遍历速度最优解
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...
- mysql循环map_java Map 遍历速度最优解
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...
- 安卓JAVA调用lua_android中java与lua的相互调用
Android Studio Lua环境配置 开发环境 1. Android Studio 3.5 2. java sdk: 1.8.0 3.android sdk:28 配置环境 添加lua支持语法 ...
- java 调用存储过程structdescriptor,Java调用oracle存储过程,集合入参的正确姿势
这是我工作之前遇到的一个需求,Java调用存储过程,入参是集合.踩了一些坑,决定写个干货,和大家分享下. 项目使用的oracle版本: com.oracle ojdbc6 11.2.0.1.0 sys ...
- javascript for java 一个可以让用户通过JAVA调用JAVASCRIPT的JAVA包
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 今天在看 ...
- webview java调用js_android WebView java与js相互调用
android WebView java与js相互调用 发布时间:2020-07-14 00:42:42 来源:51CTO 阅读:454 作者:向往宇宙 android webView js 使用 1 ...
- Java调用命令行+java生成词云
java调用命令行 package com.weizu.control; import java.io.BufferedReader; import java.io.InputStreamReader ...
- java调用oracle过程,JAVA调用ORACLE存储过程报错
当前位置:我的异常网» Java Web开发 » JAVA调用ORACLE存储过程报错 JAVA调用ORACLE存储过程报错 www.myexceptions.net 网友分享于:2015-07-1 ...
最新文章
- 啊D扫肉鸡+无远控双开XP3389 termsrvhack.dll_本地测试
- JBoss Modules 模块描述文件解析
- Java线程池框架核心代码分析
- CentOS下配置多个Tomcat同时运行 本篇文章来源于 Linux公社网站(www.linuxidc.com)
- 利用JS实现点击按钮后图片自动切换
- lisp一键室内标注_CAD插件:自动标注面积lisp程序
- ElementUI 文件上传传递额外参数
- python爬虫微博评论图片_python爬虫爬取微博评论
- android ogg转mp3,MP3提取转换器
- 2019-10-16 博客热门文章
- net.sf.json
- c语言输出时出现了【Error】Id returned 1 exit status是什么原因
- 前端学习-JavaScript基础(ES6)
- 如何将class文件打包成.jar
- Python免费快速接入图灵机器人接口
- SDI程序和MDI程序区别
- javafx 带图片的按钮菜单_怎么制作ICON图标 图片转ICON图标方法
- 问卷星文本导入问题实现
- 4种搜集来的Axure原型上传+在线预览的方法
- 5-AT命令交互之-APN
热门文章
- SAP获利能力报表常用Tcode的区别
- 从IT人士到IT经理倪应该学会的30 项技能
- SAP系统的配置传输
- 学电脑从新手到高手_小白如何学手绘插画?新手到高手必学的四套教程【614期】...
- java spring 登录验证_详解使用Spring3 实现用户登录以及权限认证
- php上传文件 不移动,move_uploaded_file()为什么无法移动上传的文件?
- 三位数的茎叶图怎么看_霍山石斛哪家好?霍山石斛怎么选择?
- Auto Lisp 标注子样式_FAIR 开放大规模细粒度词汇级标记数据集 LVIS,连披萨里的菠萝粒都能完整标注...
- python中的__call__和__repr__魔术方法
- python list的一个面试题