Java Map集合 遍歷 五種方式(包含 Lambda 表達式遍歷)


示例代碼如下:

package com.miracle.luna.lambda;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/**
 * @author Miracle Luna
 * @version 1.0
 * @date 2019/6/9 21:41
 */
public class TraverseMap {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("key1", "value1");
        map.put("key2", "value2");
        map.put("key3", "value3");

        // 第一種遍歷方式
        System.out.println("第一種遍歷方式:通過遍歷 Map 的 keySet,遍歷 Key 和 Value");
        for (String key : map.keySet()) {
            System.out.println("Key: " + key + ", Value: " + map.get(key));
        }

        // 第二種遍歷方式(如果在遍歷過程中,有刪除某些Key-Value的需求,可以使用這種遍歷方式)
        System.out.println("\n第二種遍歷方式:通過Iterator 迭代器遍歷 Key 和 Value");
        Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
        while(iterator.hasNext()) {
            Map.Entry<String, String> entry = iterator.next();
            System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
        }

        // 第三種遍歷方式(推薦,尤其是容量大時)
        System.out.println("\n第三種遍歷方式:通過遍歷 Map 的 entrySet,遍歷 Key 和 Value");
        for (Map.Entry<String, String> entry : map.entrySet()) {
            System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
        }

        // 第四種遍歷方式
        System.out.println("\n第四種遍歷方式:通過遍歷 Map 的 values,只能遍歷 Value,獲取不到對應的 Key");
        for (String value : map.values()) {
            System.out.println("Value: " + value);
        }

        // 第五種遍歷方式(JDK 1.8支持的 Lambda 表達式,強烈推薦!!!)
        System.out.println("\n第五種遍歷方式:通過 Lambda 表達式,遍歷 Key 和 Value");
        map.forEach((key, value) -> {
            System.out.println("Key: " + key + ", Value: " + value);
        });

    }
}

 

運行結果如下:

第一種遍歷方式:通過遍歷 Map 的 keySet,遍歷 Key 和 Value
Key: key1, Value: value1
Key: key2, Value: value2
Key: key3, Value: value3

第二種遍歷方式:通過Iterator 迭代器遍歷 Key 和 Value
Key: key1, Value: value1
Key: key2, Value: value2
Key: key3, Value: value3

第三種遍歷方式:通過遍歷 Map 的 entrySet,遍歷 Key 和 Value
Key: key1, Value: value1
Key: key2, Value: value2
Key: key3, Value: value3

第四種遍歷方式:通過遍歷 Map 的 values,只能遍歷 Value,獲取不到對應的 Key
Value: value1
Value: value2
Value: value3

第五種遍歷方式:通過 Lambda 表達式,遍歷 Key 和 Value
Key: key1, Value: value1
Key: key2, Value: value2
Key: key3, Value: value3

 

PS:

總結,參考如下:

Enum枚舉 遍歷判斷 四種方式(包括 Lambda 表達式過濾)
https://www.cnblogs.com/miracle-luna/p/10995539.html

Array數組 遍歷 四種方式(包含 Lambda 表達式遍歷)
https://www.cnblogs.com/miracle-luna/p/10995469.html

List集合 遍歷 四種方式(包含 Lambda 表達式遍歷)
https://www.cnblogs.com/miracle-luna/p/10995400.html

Map集合 遍歷 五種方式(包含 Lambda 表達式遍歷)
https://www.cnblogs.com/miracle-luna/p/10995132.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM