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