亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaMap兩種遍歷方式keySet與entrySet詳解

 更新時(shí)間:2023年03月15日 09:22:49   作者:自律的西瓜L  
這篇文章主要介紹了JavaMap兩種遍歷方式keySet與entrySet,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧

1.使用keySet進(jìn)行遍歷

實(shí)現(xiàn)步驟:

(1)使用Map集合中的方法keySet(),把Map集合所有的key取出來(lái),存儲(chǔ)到一個(gè)Set集合中

(2)遍歷set集合,獲得Map集合中的每一個(gè)key

(3)通過(guò)Map集合中的方法get(key),通過(guò)key找到value

	@Test
    public void testKeySet() {
        Map<String, Integer> map = new ConcurrentHashMap<>(16);
        map.put("one",1);
        map.put("two",2);
        map.put("three",3);
        // 1.增強(qiáng)for循環(huán)遍歷map中的key
        for (String key : map.keySet()) {
            // 通過(guò)key找到對(duì)應(yīng)的value
            Integer value = map.get(key);
            System.out.println(key + "->" +value);
        }
        System.out.println("------------------------");
        // 2.使用迭代器來(lái)進(jìn)行遍歷(map集合中所有的key取出來(lái),存儲(chǔ)到Set集合中)
        Iterator<String> iteratorKey = map.keySet().iterator();
        while (iteratorKey.hasNext()){
            String key = iteratorKey.next();
            Integer value = map.get(key);
            System.out.println(key + "->" +value);
        }
    }

2.使用entrySet進(jìn)行遍歷

實(shí)現(xiàn)步驟:

(1)Map.entrySet()把map的鍵值映射成Set集合

(2)Map.entrySet迭代器會(huì)生成EntryIterator,其返回的實(shí)例是一個(gè)包含key/value鍵值對(duì)的對(duì)象

(3)getKey(): 返回鍵值對(duì)的key

(4)getValue(): 返回鍵值對(duì)的value

    @Test
    public void testEntrySet() {
        Map<String, Integer> map = new ConcurrentHashMap<>(16);
        map.put("one",1);
        map.put("two",2);
        map.put("three",3);
        // Map.entrySet迭代器會(huì)生成EntryIterator,其返回的實(shí)例是一個(gè)包含key/value鍵值對(duì)的對(duì)象。
        // 而keySet中迭代器返回的只是key對(duì)象,還需要到map中二次取值。故entrySet要比keySet快一倍左右。
        Set<Map.Entry<String, Integer>> entries = map.entrySet();
        Iterator<Map.Entry<String, Integer>> entryIterator = entries.iterator();
        while (entryIterator.hasNext()){
            // 迭代出來(lái)的是每一個(gè)實(shí)例的對(duì)象,包含鍵值對(duì)
            Map.Entry<String, Integer> entry = entryIterator.next();
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key + "->" + value);
        }
    }

3.對(duì)比

(1)keySet獲取value只能通過(guò)先獲取key才能得到value

(2)entrySet在迭代之后可以直接從迭代出來(lái)的實(shí)例對(duì)象中直接獲取Key和Value

(3)兩個(gè)方法遍歷的結(jié)果都一樣,若對(duì)查詢速度有要求就選entrySet(),entrySet可以提高性能。

到此這篇關(guān)于JavaMap兩種遍歷方式keySet與entrySet詳解的文章就介紹到這了,更多相關(guān)JavaMap keySet與entrySet內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java和javascript中過(guò)濾掉img形式的字符串不顯示圖片的方法

    java和javascript中過(guò)濾掉img形式的字符串不顯示圖片的方法

    這篇文章主要介紹了java和javascript中過(guò)濾掉img形式的字符串不顯示圖片的方法,以實(shí)例形式分別講述了采用java和javascript實(shí)現(xiàn)過(guò)濾掉img形式字符串的技巧,需要的朋友可以參考下
    2015-02-02
  • JDK動(dòng)態(tài)代理之ProxyGenerator生成代理類的字節(jié)碼文件解析

    JDK動(dòng)態(tài)代理之ProxyGenerator生成代理類的字節(jié)碼文件解析

    這篇文章主要為大家詳細(xì)介紹了JDK動(dòng)態(tài)代理之ProxyGenerator生成代理類的字節(jié)碼文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Springboot POI導(dǎo)出Excel(瀏覽器)

    Springboot POI導(dǎo)出Excel(瀏覽器)

    這篇文章主要為大家詳細(xì)介紹了Springboot POI導(dǎo)出Excel,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • Java通過(guò)stmp協(xié)議發(fā)送郵件

    Java通過(guò)stmp協(xié)議發(fā)送郵件

    這篇文章主要為大家詳細(xì)介紹了Java通過(guò)stmp協(xié)議發(fā)送郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • java 中使用maven shade plugin 打可執(zhí)行Jar包

    java 中使用maven shade plugin 打可執(zhí)行Jar包

    這篇文章主要介紹了java 中使用maven shade plugin 打可執(zhí)行Jar包的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Java +Tomcat + SpringMVC實(shí)現(xiàn)頁(yè)面訪問(wèn)示例解析

    Java +Tomcat + SpringMVC實(shí)現(xiàn)頁(yè)面訪問(wèn)示例解析

    這篇文章主要介紹了Java +Tomcat + SpringMVC實(shí)現(xiàn)頁(yè)面訪問(wèn)示例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Druid(新版starter)在SpringBoot下的使用教程

    Druid(新版starter)在SpringBoot下的使用教程

    Druid是Java語(yǔ)言中最好的數(shù)據(jù)庫(kù)連接池,Druid能夠提供強(qiáng)大的監(jiān)控和擴(kuò)展功能,DruidDataSource支持的數(shù)據(jù)庫(kù),這篇文章主要介紹了Druid(新版starter)在SpringBoot下的使用,需要的朋友可以參考下
    2023-05-05
  • MyBatisPlus PaginationInterceptor分頁(yè)插件的使用詳解

    MyBatisPlus PaginationInterceptor分頁(yè)插件的使用詳解

    這篇文章主要介紹了MyBatisPlus PaginationInterceptor分頁(yè)插件的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 基于Feign使用okhttp的填坑之旅

    基于Feign使用okhttp的填坑之旅

    這篇文章主要介紹了基于Feign使用okhttp的填坑之旅,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • javaweb實(shí)現(xiàn)簡(jiǎn)易郵件發(fā)送

    javaweb實(shí)現(xiàn)簡(jiǎn)易郵件發(fā)送

    這篇文章主要為大家詳細(xì)介紹了javaweb實(shí)現(xiàn)簡(jiǎn)易郵件發(fā)送,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評(píng)論