中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaMap的keySet與entrySet遍歷方式怎么使用

發布時間:2023-03-15 14:36:36 來源:億速云 閱讀:187 作者:iii 欄目:開發技術

本篇內容介紹了“JavaMap的keySet與entrySet遍歷方式怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1.使用keySet進行遍歷

實現步驟:

(1)使用Map集合中的方法keySet(),把Map集合所有的key取出來,存儲到一個Set集合中

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

(3)通過Map集合中的方法get(key),通過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.增強for循環遍歷map中的key
        for (String key : map.keySet()) {
            // 通過key找到對應的value
            Integer value = map.get(key);
            System.out.println(key + "->" +value);
        }
        System.out.println("------------------------");
        // 2.使用迭代器來進行遍歷(map集合中所有的key取出來,存儲到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進行遍歷

實現步驟:

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

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

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

(4)getValue(): 返回鍵值對的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迭代器會生成EntryIterator,其返回的實例是一個包含key/value鍵值對的對象。
        // 而keySet中迭代器返回的只是key對象,還需要到map中二次取值。故entrySet要比keySet快一倍左右。
        Set<Map.Entry<String, Integer>> entries = map.entrySet();
        Iterator<Map.Entry<String, Integer>> entryIterator = entries.iterator();
        while (entryIterator.hasNext()){
            // 迭代出來的是每一個實例的對象,包含鍵值對
            Map.Entry<String, Integer> entry = entryIterator.next();
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key + "->" + value);
        }
    }

3.對比

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

(2)entrySet在迭代之后可以直接從迭代出來的實例對象中直接獲取Key和Value

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

“JavaMap的keySet與entrySet遍歷方式怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青田县| 湟中县| 慈溪市| 年辖:市辖区| 嘉荫县| 安溪县| 台东市| 红原县| 临沭县| 临泽县| 三明市| 淮滨县| 曲麻莱县| 全南县| 大邑县| 阿合奇县| 连城县| 江山市| 宝丰县| 赤壁市| 原阳县| 龙陵县| 三台县| 株洲县| 甘洛县| 南丰县| 浑源县| 固阳县| 吴旗县| 清远市| 平顶山市| 伽师县| 林西县| 稷山县| 尤溪县| 微山县| 广东省| 澄迈县| 栾川县| 鄄城县| 湾仔区|