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

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

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

服務器之家 - 編程語言 - JAVA教程 - 使用多種方式實現遍歷HashMap的方法

使用多種方式實現遍歷HashMap的方法

2020-05-03 14:05jingxian JAVA教程

下面小編就為大家帶來一篇使用多種方式實現遍歷HashMap的方法。小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

今天講解的主要是使用多種方式來實現遍歷HashMap取出Key和value,首先在java中如果想讓一個集合能夠用for增強來實現迭代,那么此接口或類必須實現Iterable接口,那么Iterable究竟是如何來實現迭代的,在這里將不做講解,下面主要講解一下遍歷過程。

?
1
2
3
4
5
6
//定義一個泛型集合
Map<String, String> map = new HashMap<String, String>();
//通過Map的put方法向集合中添加數據
    map.put("001", "劉備");
    map.put("002", "曹操");
    map.put("003", "孫權");

方式一:使用該Map接口的KeySet方法來實現

問題:我們都知道Map接口并沒有實現Iterable接口,為什么能用他的KetSet方法就能實現迭代呢?

解析:因為KeySet方法返回此映射中包含的鍵的 Set 視圖,這個方法竟然能返回一個Set試圖,也就說他的返回值類型是一個Set接口,我們可以通過API文檔看到Set接口他是實現了Iterable接口,所以能實現迭代。

?
1
2
3
4
5
6
//調用KeySet方法放回一個Set接口類型
    Set<String> set = map.keySet();
    //使用for增強來取出key和value
    for (String item : set) {
      System.out.println("Key是:" + item + ";Value值是:" + map.get(item));
    }

方式二:使用Map接口的Values方法實現(for增強)

同理:調用Map接口的values方法他放回一個Collection試圖,Collection接口他又實現了Iterable接口,所以能夠迭代。

?
1
2
3
4
Collection<String> con = map.values();
    for (String item : con) {
      System.out.println("Value值是:" + item);
    }

方式三:使用Map接口的entrySet方法實現(for增強)

entrySet:entrySet()的返回值也是返回一個Set集合,此集合的類型為Map.Entry,Map.Entry是Map聲明的一個內部接口,此接口為泛型,定義為Entry<K,V>。它表示Map中的一個實體(一個key-value對)。

?
1
2
3
4
5
Set<Entry<String, String>> setentry = map.entrySet();
    for (Entry<String, String> item : setentry) {
      System.out.println("Key是:" + item.getKey() + ";Value值是:"
          + item.getValue());
    }

方式四:使用Map接口的keySet().Iterable()(while循環)

Iterable():返回在此 set 中的元素上進行迭代的迭代器。返回的元素沒有特定的順序(除非此 set 是某個提供順序保證的類的實例)。返回值類型Iterator<E>

?
1
2
3
4
Iterator<String> it = map.keySet().iterator();
//如果仍有元素可以迭代,則返回 true。    while (it.hasNext()) {     //獲取Key值
   String key = it.next();   System.out.println("Key是:" + key + ";Value值是:" + map.get(key));
   }

方式五:使用Map接口的value.Iterable()(while循環)

?
1
2
3
4
5
Iterator<String> it1 = map.values().iterator();
    while (it1.hasNext()) {
      String value = it1.next();
      System.out.println("Value值是:" + value);
    }

方式六:使用Map接口的entrySet().Iterable()(while循環)

?
1
2
3
4
5
Iterator<Entry<String, String>> it2 = map.entrySet().iterator();
    while (it2.hasNext()) {
      Entry<String,String> entry=it2.next();
      System.out.println("Key是:" + entry.getKey() + ";Value值是:" + entry.getValue());
    }

以上這篇使用多種方式實現遍歷HashMap的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: free chinese麻豆 | 扒开黑女人p大荫蒂老女人 扒开大腿狠狠挺进视频 | 欧美一级特黄特色大片免费 | 亚洲欧美午夜 | 女教师雪白老汉 | 海派甜心完整版在线观看 | 闺蜜的样子小说安沁在线阅读 | 国产亚洲欧美日韩俺去了 | 校花被老头夺去第一次动图 | 范冰冰a级一级特级毛片 | 国产一区二区精品久久91 | 激情影院免费观看 | 欧美乱强 | 蜜桃视频一区二区 | 艾秋麻豆果冻剧传媒在线播放 | 日韩视频在线免费 | 精品久久香蕉国产线看观看麻豆 | 亚洲AV国产精品无码精 | 99福利影院| 亚洲免费色 | 狠狠色综合久久久久尤物 | jzjzjz日本在线观看 | 耽美双性 | 91麻豆精品国产自产在线观看 | ai换脸明星专区在线观看 | 欧美国产高清 | 欧美影院一区二区 | 99爱在线| chinesefree普通对话 | 97色蜜桃 | 不良网站在线观看 | 美女视频一区二区三区在线 | 四虎永久免费在线观看 | 国产成人精品一区二三区在线观看 | 亚洲欧美日韩特级毛片 | 精品国产成人a区在线观看 精品高潮呻吟99AV无码视频 | 我的青梅竹马是消防员2季未增删免费 | 欧洲网色偷偷亚洲男人的天堂 | 国产91视频网 | 午夜爱爱片 | 双性受合不垅腿攻np |