Hashtable类中的四种遍历方法对比
要遍历一个Hashtable,api中提供了如下几个方法可供我们遍历:
|
keys() - returns an Enumeration of the keys of this Hashtable keySet() - returns a Set of the keys entrySet() - returns a Set of the mappings elements() - returns an Enumeration of the values of this Hashtable |
|
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map.Entry;
public class HashtableTest
{ public static void main(String[]
args) { long start
= 0; long end
= 0; Hashtable<String, String> table = new Hashtable<String,
String>(); for( int i
= 0; i < 1000000; i++) { table.put( "key:" +
i, "value:" + i); }
//1、使用keys()
start = System. currentTimeMillis();
Enumeration<String> en1 = table.keys();
while(en1.hasMoreElements())
{ en1.nextElement();
}
end = System. currentTimeMillis();
System. out.println( "Enumeration
keys costs " + (end - start) + " milliseconds" ); //2、使用elements()
start = System. currentTimeMillis();
Enumeration<String> en2 = table.elements();
while(en2.hasMoreElements())
{ en2.nextElement();
}
end = System. currentTimeMillis();
System. out.println( "Enumeration
elements costs " + (end - start) + " milliseconds" ); //3、使用keySet()
start = System. currentTimeMillis();
Iterator<String> it1 = table.keySet().iterator();
while(it1.hasNext())
{ it1.next();
}
end = System. currentTimeMillis();
System. out.println( "Iterator
keySet costs " + (end - start) + " milliseconds" ); //4、使用entrySet()
start = System. currentTimeMillis();
Iterator<Entry<String, String>> it2 = table.entrySet().iterator();
while(it2.hasNext())
{ it2.next();
}
end = System. currentTimeMillis();
System. out.println( "Iterator
entrySet costs " + (end - start) + " milliseconds" ); }
}
|
|
Enumeration keys costs 16 milliseconds
Enumeration elements costs 15 milliseconds
Iterator keySet costs 17 milliseconds
Iterator entrySet costs 16 milliseconds
|
Hashtable类中的四种遍历方法对比的更多相关文章
- HashMap的四种遍历方法,及效率比较(简单明了)
https://yq.aliyun.com/ziliao/210955 public static void main(String[] args) { HashMap<Integer, Str ...
- java 完全二叉树的构建与四种遍历方法
本来就是基础知识,不能丢的太干净,今天竟然花了那么长的时间才写出来,记一下. 有如下的一颗完全二叉树: 先序遍历结果应该为:1 2 4 5 3 6 7 中序遍历结果应该为:4 2 5 ...
- RBAC类在ThinkPHP中的四种使用方法
第一类:放在登陆控制器的登陆操作中 1.RBAC::authenticate(); 用于在用户表中查找表单提交的用户名的数据,实质上就是一条用户表查寻语句,=====> return M(mod ...
- java Map 四种遍历方法
public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...
- javascript中的几种遍历方法浅析
1. for...in 用于对数组或者对象的属性的可枚举属性进行循环操作.注意该对象来自原型链上的可枚举属性也会被循环.下面看例子 var arr = ["lee","h ...
- Map的四种遍历方法
1.取值遍历 for(String key:map.keySet()){ System.out.println("key="+key+"and value=" ...
- arrayLiist的四种遍历方法
package com.test; import java.util.ArrayList;import java.util.Iterator;import java.util.List; public ...
- NSArray四种遍历方法
- AJPFX关于Java中运用数组的四种排序方法
JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法.冒泡法.选择排序法.插入排序法.快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现.冒泡法是运用遍历数组进行比 ...
随机推荐
- 算法(Algorithms)第4版 练习 1.5.3
id数组和treesize数组变化情况: 0 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 10 components 9 0 1 2 3 4 5 6 7 8 9 1 1 ...
- Hive- 大数据仓库Hive
什么是 Hive? Hive 是由 FaceBook 开源用于解决少量数据结构化日志的数据统计.Hive是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询 ...
- linux 设备文件
一.设备文件 在dev目录下 外部设备通过创建好的设备文件连接到服务器上,例如可以通过设备号给连接上去的硬件发消息. 二.设备文件分类 块设备 按块为单位,随机访问的设备 常见的有 硬盘 字符设备 按 ...
- ajax经典案例--省市联动
ajax的省市联动案例 如果我们的代码比较复杂,可以通过file_put_contents来输出信息到某个日志. 在一个元素中添加另一个元素使用的方法是:appendChild(). 函数append ...
- ckeditor出现错误“从客户端(***)中检测到有潜在危险的 Request.Form值”的解决方法
ckeditor出现错误“从客户端(***)中检测到有潜在危险的 Request.Form值”的解决方法 页面中使用ckeditor,提交文章时总是出错,“从客户端(TextBox1="&l ...
- hdu 2050 折线分割平面(递推公式)
折线分割平面 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- L103
Give everyday the chance to become the most beautiful day of your life.把每天都过成你生命中最美好的一天.competence 能 ...
- codeforces 637A A. Voting for Photos(水题)
题目链接: A. Voting for Photos time limit per test 1 second memory limit per test 256 megabytes input st ...
- android sqlite,大数据处理、同时读写
1. 批量写入,采用事物方式,先缓存数据,再批量写入数据,极大提高了速度 288条,直接inset into 耗时7秒 8640条, 批量写入 耗时5-7秒 try { this.myD ...
- bzoj1014火星人
...强迫症终于A了这道题 bzoj前30道全A指日可待 splay维护这个结点控制的字符串的hash值 每次旋转重新算一遍就可以了 查询的时候跑一个二分 讲起来很简单但是还是调了1h才调对了spl ...