Java Map集合 遍历 五种方式(包含 Lambda 表达式遍历)

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 map = new HashMap();

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> iterator = map.entrySet().iterator();

while(iterator.hasNext()) {

Map.Entry entry = iterator.next();

System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());

}

// 第三种遍历方式(推荐,尤其是容量大时)

System.out.println("\n第三种遍历方式:通过遍历 Map 的 entrySet,遍历 Key 和 Value");

for (Map.Entry 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

相关推荐

季節/雨季
beat365官方登录入口

季節/雨季

📅 08-04 👁️ 1783
氛字笔顺、笔画顺序
beat365官方登录入口

氛字笔顺、笔画顺序

📅 07-21 👁️ 9296
时间节点 - 全境封锁2(国际服)WIKI
365骑士版app下载

时间节点 - 全境封锁2(国际服)WIKI

📅 07-21 👁️ 7842