我再上一篇《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