您的位置:首页 > 编程语言 > Java开发

Java中遍历HashMap的两种方式

2013-05-31 16:38 495 查看
Java中遍历HashMap的两种方式
第一种:
  Map map = new HashMap();
  Iterator iter = map.entrySet().iterator();
  while (iter.hasNext()) {
  Map.Entry entry = (Map.Entry) iter.next();
  Object key = entry.getKey();
  Object val = entry.getValue();
  }

第二种:
  Map map = new HashMap();
  Iterator iter = map.keySet().iterator();
  while (iter.hasNext()) {
  Object key = iter.next();
  Object val = map.get(key);
  }
通过如下的测试,发现第一种的遍历效率要高于第二种方式,如果大家有更好的方法测试,欢迎回帖!谢谢!
测试文件如下:
package test;import java.util.Calendar;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;public class HashMapTest {	public static void main(String[] args) {		keySetHashMap();		System.out.println("************************************");		entrySetHashMap();			}	/*	 * 使用keySet进行遍历	 */	public static void keySetHashMap(){		HashMap hashmap = new HashMap();		for(int i=0;i<100;i++){			hashmap.put(i, i);		}		long bs = Calendar.getInstance().getTimeInMillis();		Iterator it = hashmap.keySet().iterator();		while(it.hasNext()){			System.out.print(hashmap.get(it.next())+" ");		}		System.out.println();		System.out.println(Calendar.getInstance().getTimeInMillis()-bs);	} 		/*	 * 使用entrySet进行遍历	 */	public static void entrySetHashMap(){		HashMap hashmap = new HashMap();		for(int i=0;i<100;i++){			hashmap.put(i, "a");		}		long bs = Calendar.getInstance().getTimeInMillis();		Iterator it = hashmap.entrySet().iterator();		while(it.hasNext()){			Map.Entry entry = (Entry) it.next();			System.out.print(entry.getValue()+" ");		}		System.out.println();		System.out.println(Calendar.getInstance().getTimeInMillis()-bs);	}	}
很好的一篇文章:http://blog.csdn.net/scelong/article/details/5729548
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: