Map实现类测试

public class MapTest {
	long startTime;
	long endTime;
	
	public void testHashMap(){
		Map<String,String> map = new HashMap<String, String>();
		System.out.println("************HashMap开始测试*************");
		
		map.put("zhangsan", "23岁");
		map.put("lisi", "29岁");
		map.put("admin", "20岁");
		map.put(null,null);
		startTime = System.nanoTime();
		for(Map.Entry<String, String> entry : map.entrySet()){
			System.out.println(entry.getKey()+" : "+entry.getValue());
		}
		endTime = System.nanoTime();
		System.out.println("*****HashMap结束测试,用时:"+(endTime - startTime)+"*******");

//		运行结果:
//		************HashMap开始测试*************
//		null : null
//		admin : 20岁
//		lisi : 29岁
//		zhangsan : 23岁
//		*****HashMap结束测试,用时:479949*******
		/**
		 * hashMap允许空的key和value,不是同步的,效率要高。
		 */
	}
	
	public void testHashtable(){
		Map<String,String> map = new Hashtable<String,String>();
		System.out.println("************Hashtable开始测试*************");
		
		map.put("zhangsan", "23岁");
		map.put("lisi", "29岁");
		map.put("admin", "20岁");
//		map.put(null,null);
		
		startTime = System.nanoTime();
		for(Map.Entry<String, String> entry : map.entrySet()){
			System.out.println(entry.getKey()+" : "+entry.getValue());
		}
		endTime = System.nanoTime();
		System.out.println("*****Hashtable结束测试,用时:"+(endTime - startTime)+"*******");
		
//		运行结果:
//		************Hashtable开始测试*************
//		admin : 20岁
//		zhangsan : 23岁
//		lisi : 29岁
//		*****Hashtable结束测试,用时:268190*******
		/**
		 * Hashtable不允许空的key或value,是线程同步的,效率较低。
		 */
	}
	
	public void testTreeMap(){
		Map<String,String> map = new TreeMap<String,String>();
		System.out.println("************TreeMap开始测试*************");
		map.put("zhangsan", "23岁");
		map.put("lisi", "29岁");
		map.put("admin", "20岁");
		map.put("base", null);
		startTime = System.nanoTime();
		for(Map.Entry<String, String> entry : map.entrySet()){
			System.out.println(entry.getKey()+" : "+entry.getValue());
		}
		endTime = System.nanoTime();
		System.out.println("*****TreeMap结束测试,用时:"+(endTime - startTime)+"*******");
		
//		运行结果:
//		************TreeMap开始测试*************
//		admin : 20岁
//		base : null
//		lisi : 29岁
//		zhangsan : 23岁
//		*****TreeMap结束测试,用时:484977*******
		/**
		 * TreeMap 不允许key为空,不是同步的,会根据其键的自然顺序进行排序
		 */
	}
	
	public static void main(String[] args) {
		MapTest map = new MapTest();
		map.testHashMap();
		map.testHashtable();
		map.testTreeMap();
	}

猜你喜欢

转载自peng-hao1988.iteye.com/blog/1560146