import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/**
* Map集合的遍历
*/
public class BianLiMap {
public static void main(String[] args) {
// 第一种:获取所有的key,通过遍历key来遍历value
Map<Integer, String> map = new HashMap<>();
map.put(1, "ZhangSan");
map.put(2, "LiSi");
map.put(3, "WangWu");
map.put(4, "ZhaoLiu");
//获取所有的key
Set<Integer> keys = map.keySet();
System.out.println("----------第一种迭代器方式----------");
// 迭代器获取所有的key
Iterator<Integer> it = keys.iterator();
while (it.hasNext()) {
// 获取其中的一个key
Integer key = it.next();
// 通过key获取value
System.out.println(key + " = " + map.get(key));
}
System.out.println("----------第一种增强for方式----------");
// foreach
for (Integer key : keys) {
System.out.println(key + " = " + map.get(key));
}
System.out.println("----------第二种迭代器方式----------");
// 第二种: entrySet()方法,把Map集合直接全部转换成Set集合,集合中元素的类型是Map.Entry
// 元素是Node对象,元素有两个属性:Integer key和String value
Set<Map.Entry<Integer, String>> set = map.entrySet();
//迭代器遍历Set集合,每次取出一个Node
Iterator<Map.Entry<Integer, String>> it2 = set.iterator();
while (it2.hasNext()) {
Map.Entry<Integer, String> node = it2.next();
// getKey()和getValue()是Map.Entry<K, V>接口的方法
Integer key = node.getKey();
String value = node.getValue();
System.out.println(key + " = " + value);
}
System.out.println("----------第二种增强for方式----------");
// foreach
for (Map.Entry<Integer, String> node : set) {
System.out.println(node.getKey() + " = " + node.getValue());
}
}
}
javase:遍历map集合
最新推荐文章于 2022-04-19 09:18:17 发布