国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

香港云服务器
服務器之家 - 編程語言 - JAVA教程 - Java讀取Map的兩種方法與對比

Java讀取Map的兩種方法與對比

2020-07-05 13:43bladestone JAVA教程

相信大家都知道在Java中Map的使用非常頻繁,我們經(jīng)常會需要對Map進行遍歷和讀取,那么下面這篇文章將展示兩種遍歷的方法以及簡要分析。有需要的可以參考借鑒,下面來一起看看吧。

前言

在java中遍歷Map有不少的方法。這篇文章我們就來看一下Java讀取Map的兩種方法以及這兩種方法的對比。

一、 遍歷Map方法A

?
1
2
3
4
5
6
7
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方法B

?
1
2
3
4
5
6
Map map = new HashMap();
Iterator iter = map.keySet().iterator();
while (iter.hasNext()) {
 Object key = iter.next();
  Object val = map.get(key);
}

三、分析遍歷方法

   方法A:  在遍歷中一次讀取Map.Entry,然后直接獲取的值。

   方法B:   基于keySet則是,先遍歷,然后再從Map中讀取信息。

四、性能測試

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
 
import org.junit.BeforeClass;
import org.junit.Test;
 
public class MapLoopA {
 private static Map<Integer, String> infos = new HashMap<Integer, String>();
 
 @BeforeClass
 public static void setUp() {
 for (int i=0; i<1000000; i++) {
  infos.put(i, "test information" + i);
 }
 System.out.println("setUp is done.");
 }
 
 @Test
 public void testMapLoopA() {
 Iterator<Map.Entry<Integer, String>> iterator = infos.entrySet().iterator();
 long startTime = System.currentTimeMillis();
 while (iterator.hasNext()) {
  Map.Entry<Integer, String> entry = iterator.next();
  int key = entry.getKey();
  String val = entry.getValue();
 }
  
 System.out.println("A solution takes in looping Map with 1000000 entries:"
   + (System.currentTimeMillis()-startTime) + " milli seconds");
 }
 
 @Test
 public void testMapLoopB() {
 Iterator<Integer> iterator = infos.keySet().iterator();
 long startTime = System.currentTimeMillis();
 while (iterator.hasNext()) { 
  int key = iterator.next();
  String val = infos.get(key);
 }
  
 System.out.println("B solution takes in looping Map with 1000000 entries:" +
   (System.currentTimeMillis()-startTime) + " milli seconds");
 }
}

測試結果:

Java讀取Map的兩種方法與對比

由此可見,在Map中存放1000000個數(shù)據(jù),并在此數(shù)據(jù)集合中,進行遍歷。效率上差異將近1倍的性能差異。

五、總結

好了,以上就是這篇文章的全部內(nèi)容了,可以看車方法A的效率總體要高一些。一般推薦大家使用方法A。希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助。

原文鏈接:http://blog.csdn.net/blueheart20/article/details/45173621

延伸 · 閱讀

精彩推薦
631
主站蜘蛛池模板: 青青久久久 | 男女羞羞网站 | 亚洲男人皇宫 | 香蕉久久夜色精品国产使用方法 | 99国产精品99久久久久久 | 久久久99精品免费观看 | 激情一级| 国产一区二区精品在线观看 | 激情视频网 | 26uuu国产电影一区二区 | 国产精品成av人在线视午夜片 | 99久久婷婷国产综合精品电影 | 懂色中文一区二区在线播放 | 精品国产一区二区三区免费 | 最新高清无码专区 | 日本精品久久 | 亚洲欧美v国产一区二区 | 久久成人精品视频 | 免费看亚洲 | 日本精品一区二区三区在线观看视频 | 久久精品成人 | 色乱码一区二区三区网站 | 中文字幕黄色 | 欧美日韩成人在线 | 国产综合视频在线观看 | 午夜欧美 | 亚洲免费在线观看 | 国产成人精品亚洲日本在线观看 | 国产成人精品一区二区三区网站观看 | 精品久久久久久久久久久 | 亚洲精品国产综合 | 国产精品成人3p一区二区三区 | 天天综合天天做天天综合 | 日本不卡在线观看 | 自拍偷拍 国产 | 在线观看国产视频 | 久久99精 | 99久久婷婷国产综合精品电影 | 国产欧美在线观看 | 亚洲国产一区二区三区 | 国产欧美精品一区二区色综合 |