加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

HashMap遍历的两种方式,推荐使用entrySet() 冬蒽

发布时间:2020-12-15 02:47:11 所属栏目:Java 来源:网络整理
导读:第一种: 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.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); 
} 

效率低,以后尽量少使用!


import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;

public class HashMapTest {
	public static void main(String[] args) {
		keySet();
		entrySet();
	}

	public static void keySet() {
		HashMap<Integer,String> hashmap = new HashMap<Integer,String>();
		for (int i = 0; i < 1000; i++) {
			hashmap.put(i,"thanks");
		}

		long bs = Calendar.getInstance().getTimeInMillis();
		Iterator iterator = hashmap.keySet().iterator();
		while (iterator.hasNext()) {
			System.out.print(hashmap.get(iterator.next()));
		}
		System.out.println();
		System.err.println(Calendar.getInstance().getTimeInMillis() - bs);
	}
	
	public static void entrySet() {
		HashMap<Integer,"thanks");
		}
		long bs = Calendar.getInstance().getTimeInMillis();
		Iterator it = hashmap.entrySet().iterator();
		while (it.hasNext()) {
			Entry entry = (Entry) it.next();
			// entry.getKey() 返回与此项对应的键
			// entry.getValue() 返回与此项对应的值
			System.out.print(entry.getValue());
		}
		System.out.println();
		System.err.println(Calendar.getInstance().getTimeInMillis() - bs);
	}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读