Java中Map的遍歷方法

Hoking發表於2016-10-24

        對於Java中Map的遍歷方式,很多文章都推薦使用entrySet,認為其比keySet的效率高很多。理由是:entrySet方法一次性拿到所有key和value的集合;而keySet拿到的只是key的集合,針對每個key,都要去Map中額外查詢一次value,從而降低了總體效率。

/**
	 * 方法一:使用entryset來進行遍歷
	 */
	public void method01(Map map) {
		Iterator iter = map.entrySet().iterator();
		while (iter.hasNext()) {
			Map.Entry entry = (Map.Entry) iter.next();
			Object key = entry.getKey();
			Object value = entry.getValue();
			System.out.println("key=" + key + ";value=" + value);
		}
	}

	/**
	 * 方法二:使用keyset來進行遍歷
	 */
	public void method02(Map map) {
		Iterator iter = map.keySet().iterator();
		while (iter.hasNext()) {
			Object key = iter.next();
			Object value = map.get(key);
			;
			System.out.println("key=" + key + ";value=" + value);
		}
	}


相關文章