Java遍历HashMap的两种方式

public class MapTraverse {
	/**
	 * @param args
	 */
	public static void main(String[] args){
		HashMap map = new HashMap();
		map.put("1", "张三");
		map.put("2", "李四");
		map.put("3", "王五");
		
		//方法一(将所有key-value一次性获得出来放到entrySet中)
		Iterator it = map.entrySet().iterator();
		while(it.hasNext()){
			Map.Entry entry = (Map.Entry)it.next();
			Object key = entry.getKey();
			Object value = entry.getValue();
			System.out.print("key=="+key.toString());
			System.out.println("value=="+value.toString());
		}
		System.out.println("-----------------------------");
		//方法二(将key获得出来放到keySet中,然后取value)
		Iterator it2 = map.keySet().iterator();
		while(it2.hasNext()){
			String key = (String)it2.next();
			String value = (String)map.get(key);
			System.out.println("key=="+key.toString()+"value=="+value.toString());
		}
		System.out.println("-----------------------------");
	}
}

第一种方式,一次性读取,效率较高,很多公司明确只能使用第一种;

第二种方式,实际上进行了两遍遍历,同时遍历key和原map。

猜你喜欢

转载自blog.csdn.net/flyfeifei66/article/details/7042179