用for和while遍历HashMap效率测试

import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
import java.util.Iterator;

public class EntryTest {
	public static void main(String[]  args) {

		Map<Integer, String> map = new HashMap<Integer, String>();
		for (int i = 0; i <= 6000000; i++) {
			map.put(i, "a" + i);
		}

		//使用while和entrySet遍历HashMap
		long startTime1 = Calendar.getInstance().getTimeInMillis();
		Iterator iterator = map.entrySet().iterator();
		while(iterator.hasNext()) {
			Map.Entry<Integer, String> entry = (Map.Entry<Integer, String>)iterator.next();
			entry.getKey();
			entry.getValue();
			//System.out.println(entry.getKey() + ": " + entry.getValue());
		}
		long endTime1 = Calendar.getInstance().getTimeInMillis();

		//输出方法1的耗时
		System.out.println("costTime1 = " + (endTime1-startTime1));

		//使用for和entrySet遍历
		long startTime2 = Calendar.getInstance().getTimeInMillis();
		for (Map.Entry<Integer, String> entry:map.entrySet()) {
			entry.getKey();
			entry.getValue();
			//System.out.println(entry.getKey() + ": " + entry.getValue());
		}
		long endTime2 = Calendar.getInstance().getTimeInMillis();

		//输出方法2的耗时
		System.out.println("costTime2 = " + (endTime2-startTime2));
	}

}
结果输出:
costTime1 = 96
costTime2 = 89

用for和while遍历HashMap效率测试

时间: 2024-08-13 19:18:23

用for和while遍历HashMap效率测试的相关文章

HashMap的keySet遍历和entrySet遍历时间效率比较

import java.util.Calendar; import java.util.Map; import java.util.HashMap; import java.util.Iterator; import java.util.Set; public class HashMapTest { <span style="white-space:pre"> </span>public static void main(String[] args) { <

java集合类遍历删除方法测试以及使用场景记录

package test0; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; /**

javascript数组去重 - 效率测试

数组去重,前端面试酷爱的问题,问题简单而又能看出一个程序员对计算机程序执行过程的理解如何. 数组去重的方法有很多,到底哪种是最理想的,我不清楚.于是我测试了下数组去重的效率.测试二十万个数据,随着数据越多效率很明显的就体验了出来. 以下是我针对网上三种高效率方法总结与效率测试,不喜勿喷O(∩_∩)O~~ 数组去重法1: 1 Array.prototype.unique1 = function(){ 2 console.time("数组去重法1"); //记录开始执行的时间 3 var

java遍历hashMap、hashSet、Hashtable

一.遍历HashMap Map<Integer, String> map = new HashMap<Integer, String>(); 方法一:效率高 for(Entry<Integer, String> entry:map.entrySet()){ System.out.println(entry.getKey()+"="+entry.getValue()); } 方法二: for (Integer key : map.keySet()) {

ORM for Net主流框架汇总与效率测试

框架已经被越来越多的人所关注与使用了,今天我们就来研究一下net方面的几个主流ORM框架,以及它们的效率测试(可能会有遗漏欢迎大家讨论). ORM框架:Object/Relation Mapping(对象/关系 映射)的缩写,易于理解的模型化数据的方法.简单的说就是把数据库的关系型数据类型转换为用对象型程序控制的框架类型. 今天研究的orm框架如下: 1.NHibernate(使用与介绍:http://www.cnblogs.com/stone_w/archive/2011/09/15/2177

sql语句的效率测试

1.测试sql语句执行时间的方法,获得时间差 declare @end_date datetime select @begin_date = getdate() --要执行的sql语句 select @end_date = getdate() select datediff(ms,@begin_date,@end_date) as '用时/毫秒' 2.下面这种方法比较全面,将执行每个语句时采取的步骤作为行集返回,通过层次结构树的形式展示出来,输出中包含的列: SET STATISTICS io

关于pgsql 几个操作符的效率测试比较

关于pgsql 几个操作符的效率测试比较1. json::->> 和 ->> 测试方法:单次运行100次,运行10个单次取平均时间.测试结果:->> 效率高 5% 左右 功能差异:json::->> 在使用前需要对对象转换为jsonb 然后再执行 ->> 操作,所以比->>更耗时 .所以如果我们需要对返回的对象进行jsonb操作,用jsonb_* 相关函数时,建议用jsonb_* 而不用 jsonb_*_text ,后者会把结果的js

大数据量分页存储过程效率测试附代码

在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话. 测试环境 硬件:CPU 酷睿双核T5750  内存:2G 软件:Windows server 2003    +   Sql server 2005 OK,我们首先创建一数据库:data_Test,并在此数据库中创建一表:tb_TestTable 按 Ctrl+C 复制代码1create database data_Test --创建数据库data_Test 2GO 3use data

监控SharePoint效率之(四) –开展效率测试

在真正上线之前,要对效率做充足的测试,以免上线之后出现响应慢而影响用户体验.那么应该如何做生产环境上线之前就做效率测试呢? 那就需要模拟一个和生产环境相似的测试环境,来完成这个工作.在搭建测试环境的时候,需要注意测试环境要和生产环境足够的接近.比如: 和生产环境同样的硬件规格 同样的软件设置 同样的操作系统版本 同样的第三方解决方案 同样的用户,用户组和权限设置 除此之外,还要模拟生产环境将来可能达到的存储量.比如,如果预计三年后生产环境上有1TB的数据,那么就要在测试环境模拟这个数据. 环境准