java中map的clear和new性能對比

我再上一篇hashMap使用的優化文章的時候想過map的性能問題,沒有仔細探究,今天有想到一個問題。java

咱們在使用HashMap的時候是用clear好呢,仍是直接new一個比較好!性能

而後就寫了點代碼進行實驗比較大數據

Map<String, Object> map = new HashMap<String, Object>();
		for (int i = 0; i < 100000; i++) {
			map.put(i+"", 1);
		}
		
		long start = System.currentTimeMillis();
		map.clear();
		map.put("headerId", 1);
		for (int i = 0; i < 100000; i++) {
			map.put(i+"", 1);
		}
		long end = System.currentTimeMillis();
		System.out.println("運行時間:" + (end - start) + "毫秒");
		
		long start2 = System.currentTimeMillis();
		map = new HashMap<String, Object>();
		map.put("headerId", 1);
		for (int i = 0; i < 100000; i++) {
			map.put(i+"", 1);
		}
		long end2 = System.currentTimeMillis();
		System.out.println("運行時間:" + (end2 - start2) + "毫秒");

輸出結果:優化

    運行時間:37毫秒spa

    運行時間:45毫秒.net

雖然時間差比較小,但事實證實若是後期大數據量的話仍是clear效率比較高,若是是小數據量仍是new效率高,1w條左右!code

相關文章
相關標籤/搜索