一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - JAVA遍歷map的幾種實(shí)現(xiàn)方法代碼

JAVA遍歷map的幾種實(shí)現(xiàn)方法代碼

2019-10-29 16:01java技術(shù)網(wǎng) JAVA教程

這篇文章主要介紹了JAVA遍歷map的幾種實(shí)現(xiàn)方法,有需要的朋友可以參考一下

代碼如下:


public static void main(String args[]) {
  Map<String, Object> map = new HashMap<String, Object>();
  map.put("a", "A");
  map.put("b", "B");
  map.put("c", "C");
  // keySet遍歷
  Iterator<String> iterator = map.keySet().iterator();
  while (iterator.hasNext()) {
    String key = iterator.next();
    String value = (String) map.get(key);
    System.out.println(value);
  }
  for (String key : map.keySet()) {
    String value = (String) map.get(key);
    System.out.println(value);
  }
  // entrySet遍歷
  Iterator<Entry<String, Object>> iterator1 = map.entrySet().iterator();
  while (iterator1.hasNext()) {
    String value = (String) iterator1.next().getValue();
    System.out.println(value);
  }

 

  for (Entry<String, Object> entry : map.entrySet()) {
    String value = (String) entry.getValue();
    System.out.println(value);
  }
  //
  for (Object str : map.values()) {
    System.out.println(str);
  }
}

 

關(guān)于效率問題:

如果你使用HashMap

同時(shí)遍歷key和value時(shí),keySet與entrySet方法的性能差異取決于key的具體情況,如復(fù)雜度(復(fù)雜對象)、離散度、沖突率等。換言之,取決于HashMap查找value的開銷。entrySet一次性取出所有key和value的操作是有性能開銷的,當(dāng)這個(gè)損失小于HashMap查找value的開銷時(shí),entrySet的性能優(yōu)勢就會體現(xiàn)出來。例如上述對比測試中,當(dāng)key是最簡單的數(shù)值字符串時(shí),keySet可能反而會更高效,耗時(shí)比entrySet少10%。總體來說還是推薦使用entrySet。因?yàn)楫?dāng)key很簡單時(shí),其性能或許會略低于keySet,但卻是可控的;而隨著key的復(fù)雜化,entrySet的優(yōu)勢將會明顯體現(xiàn)出來。當(dāng)然,我們可以根據(jù)實(shí)際情況進(jìn)行選擇
只遍歷key時(shí),keySet方法更為合適,因?yàn)閑ntrySet將無用的value也給取出來了,浪費(fèi)了性能和空間。在上述測試結(jié)果中,keySet比entrySet方法耗時(shí)少23%。
只遍歷value時(shí),使用vlaues方法是最佳選擇,entrySet會略好于keySet方法。

如果你使用TreeMap

同時(shí)遍歷key和value時(shí),與HashMap不同,entrySet的性能遠(yuǎn)遠(yuǎn)高于keySet。這是由TreeMap的查詢效率決定的,也就是說,TreeMap查找value的開銷較大,明顯高于entrySet一次性取出所有key和value的開銷。因此,遍歷TreeMap時(shí)強(qiáng)烈推薦使用entrySet方法。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 青青热久免费精品视频精品 | 成人国产在线视频 | 天堂va在线高清一区 | 色综合天天综合中文网 | 513热点网深夜影院影院诶 | 日韩欧美国产一区 | 欧美日本一区视频免费 | 国产一区精品视频 | 国产精选之刘婷野战 | 美女被吸乳老师羞羞漫画 | videos护士有奶水 | 天天做天天爽 | 99av导航 | 国产精品高清一区二区三区 | 国产精品视频免费看 | 国产日韩一区二区三区在线播放 | 91.prom在线观看国产 | japanese乱子mate| 国产成人精品三级在线 | 欧美爽妇 | 亚洲a区视频 | 亚洲波多野结衣日韩在线 | 男人机机桶女人机机 | 免费观看伦理片 | 亚洲精品综合一区二区 | 911香蕉视频| 免费一级毛片完整版在线看 | 搡60一70岁的老女人小说 | 91国内精品| 99视频福利 | 冰雪奇缘1完整版免费观看 变形金刚第一部 | 三级视频中文字幕 | 日本精品久久久久中文字幕 1 | 免费国产午夜高清在线视频 | 无码AV毛片色欲欧洲美洲 | 情欲满载2012美国dvd | 亚洲精品第一国产综合 | 放荡的女老板bd中文字幕 | 交换朋友夫妇3中文字幕 | 边摸边吃奶玩乳尖视频 | 国产在线观看99 |