前言
想要输出Map中的元素,并进行下一步处理,但是卡在了如何输出元素这块,所以经查找后,总结一下四种输出方式
程序
主程序:
package TestFunction;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class TestMap {
public static void main(String[] args) {
// 循环遍历Map的4中方法
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("nian", 24);
map.put("li",23);
}
}
- 方法一 entrySet遍历
// 1. entrySet遍历,在键和值都需要时使用(最常用)
System.out.println("1、entrySet遍历,在键和值都需要时使用(最常用)");
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
}
输出结果:
1、entrySet遍历,在键和值都需要时使用(最常用)
key = nian, value = 24
key = li, value = 23
- 方法二 通过keySet或values来实现遍历
// 2. 通过keySet或values来实现遍历
// 遍历map中的键
System.out.println("2、通过keySet或values来实现遍历");
for (String key : map.keySet()) {
System.out.println("key = " + key);
}
// 遍历map中的值
System.out.println("遍历map中的值");
for (Integer value : map.values()) {
System.out.println("value = " + value);
}
输出结果:
2、通过keySet或values来实现遍历
key = nian
key = li
遍历map中的值
key = 24
key = 23
- 方法三 使用Iterator遍历
// 3. 使用Iterator遍历
System.out.println("3、使用Iterator遍历");
Iterator<Map.Entry<String, Integer>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, Integer> entry = it.next();
System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
}
输出结果
3、使用Iterator遍历
key = nian, value = 24
key = li, value = 23
- 方法四 forEach 函数的使用
// 4. java8 Lambda
// java8提供了Lambda表达式支持,语法看起来更简洁,可以同时拿到key和value,
// 不过,经测试,性能低于entrySet,所以更推荐用entrySet的方式
System.out.println("4、");
map.forEach((key, value) -> {
System.out.println(key + ":" + value);
});
输出结果:
4、
nian:24
li:23