欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用多種方式實現(xiàn)遍歷HashMap的方法

 更新時間:2016年05月20日 16:02:30   投稿:jingxian  
下面小編就為大家?guī)硪黄褂枚喾N方式實現(xiàn)遍歷HashMap的方法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

//定義一個泛型集合
Map<String, String> map = new HashMap<String, String>();
//通過Map的put方法向集合中添加數(shù)據(jù)
    map.put("001", "劉備");
    map.put("002", "曹操");
    map.put("003", "孫權(quán)");

方式一:使用該Map接口的KeySet方法來實現(xiàn)

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

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

//調(diào)用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方法實現(xiàn)(for增強)

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

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

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

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

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循環(huán))

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

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循環(huán))

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

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

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());
    }

以上這篇使用多種方式實現(xiàn)遍歷HashMap的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java基礎(chǔ)學(xué)習(xí)之接口詳解

    Java基礎(chǔ)學(xué)習(xí)之接口詳解

    接口,是Java語言中一種引用類型,是方法的集合,如果說類的內(nèi)部封裝了成員變量、構(gòu)造方法和成員方法,那么接口的內(nèi)部主要就是封裝了方法。本文通過一些示例詳細為大家展示了接口的使用,需要的可以參考一下
    2022-10-10
  • idea2023遠程調(diào)試springboot的過程詳解

    idea2023遠程調(diào)試springboot的過程詳解

    這篇文章主要介紹了idea2023遠程調(diào)試,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • SpringDataJpa的使用之一對一、一對多、多對多?關(guān)系映射問題

    SpringDataJpa的使用之一對一、一對多、多對多?關(guān)系映射問題

    這篇文章主要介紹了SpringDataJpa的使用?--?一對一、一對多、多對多關(guān)系映射,本文主要講述?@OneToOne、@OneToMany、@ManyToOne、@ManyToMany?這四個關(guān)系映射注解的使用,以及其對應(yīng)的級聯(lián)關(guān)系,需要的朋友可以參考下
    2022-07-07
  • Java Builder模式構(gòu)建MAP/LIST的實例講解

    Java Builder模式構(gòu)建MAP/LIST的實例講解

    下面小編就為大家?guī)硪黄狫ava Builder模式構(gòu)建MAP/LIST的實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • JDK 7 新特性小結(jié)實例代碼解析

    JDK 7 新特性小結(jié)實例代碼解析

    這篇文章通過實例代碼給大家介紹了JDK 7 新特性小結(jié)篇,感興趣的朋友一起看看吧
    2018-03-03
  • 國內(nèi)分布式框架Dubbo使用詳解

    國內(nèi)分布式框架Dubbo使用詳解

    這篇文章主要為大家介紹了國內(nèi)分布式框架Dubbo使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • mybatis連接MySQL8出現(xiàn)的問題解決方法

    mybatis連接MySQL8出現(xiàn)的問題解決方法

    這篇文章主要介紹了mybatis連接MySQL8出現(xiàn)的問題解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • OpenJDK源碼解析之System.out.println詳解

    OpenJDK源碼解析之System.out.println詳解

    這篇文章主要介紹了OpenJDK源碼解析之System.out.println詳解,文中有非常詳細的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Java使用join方法暫停當(dāng)前線程

    Java使用join方法暫停當(dāng)前線程

    這篇文章主要為大家詳細介紹了Java使用join方法暫停當(dāng)前線程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • java、python、JavaScript以及jquery循環(huán)語句的區(qū)別

    java、python、JavaScript以及jquery循環(huán)語句的區(qū)別

    本篇文章主要介紹java、python、JavaScript以及jquery的循環(huán)語句的區(qū)別,這里整理了它們循環(huán)語句語法跟示例,以便大家閱讀,更好的區(qū)分它們的不同
    2016-07-07

最新評論