发布时间:2018-05-09作者:laosun阅读(2243)
在JAVA开发中,使用Map还是很频繁的,对此我们都需要对Map进行遍历和读取,下面我们使用Iterator来进行简单的比较。
本文目的很简单,并不是什么专业性的测试,只是举个小例子比较下,做为笔记存储
测试环境
Map当中各自有100000条数据
/** * JAVA 两种方法读取Map方法的性能简单对比 */ public class MapTest { private static Map<Integer, String> initMap = new HashMap<Integer, String>(); public static void initMapData() { for (int i = 0; i < 100000; i++) { initMap.put(i, "test" + i); } } public static void testMapA() { Iterator<Map.Entry<Integer, String>> iterator = initMap.entrySet() .iterator(); long startTime = System.currentTimeMillis(); while (iterator.hasNext()) { Map.Entry<Integer, String> entry = iterator.next(); int key = entry.getKey(); String val = entry.getValue(); } System.out.println("MapA总执行耗时:" + (System.currentTimeMillis() - startTime)); } public static void testMapB() { Iterator<Integer> iterator = initMap.keySet().iterator(); long startTime = System.currentTimeMillis(); while (iterator.hasNext()) { int key = iterator.next(); String val = initMap.get(key); } System.out.println("MapB总执行耗时:" + (System.currentTimeMillis() - startTime)); } public static void main(String[] args) { initMapData(); // 初始化Map数据 testMapA(); // 执行A testMapB(); // 执行B } }
执行结果:
MapA总执行耗时:4 MapB总执行耗时:6
版权属于: 技术客
原文地址: https://www.sunjs.com/article/detail/f39b9d66d2ec4bd7b601679b86598e7c.html
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。