import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapTest02 {
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");
//遍历Map集合
//获取所有的key,所有的key是一个Set集合
Set<Integer> keys=map.keySet();
//遍历key,通过key获取value
//迭代器
Iterator<Integer> it=keys.iterator();
while (it.hasNext()){
//取出每一个key
Integer key=it.next();
//通过key获取value
String value=map.get(key);
System.out.println(key+" "+value);
}
System.out.println('\n');
//增强for循环
for (Integer key:keys){
System.out.println(key+" "+map.get(key));
}
System.out.println('\n');
//第二种方式:Set<Map.Entry<K,v>> entrySet(),该方法将Map集合直接全部转换为Set集合
//Set集合中元素的类型是:Map.entry
Set<Map.Entry<Integer,String>> set=map.entrySet();
//遍历Set集合,每次都取出一个node
//迭代器
Iterator<Map.Entry<Integer,String>> it1=set.iterator();
while (it1.hasNext()){
Map.Entry<Integer,String> node=it1.next();
Integer key=node.getKey();
String value=node.getValue();
System.out.println(key+" "+value);
}
System.out.println('\n');
//增强for循环(foreach)
for (Map.Entry<Integer,String> node:set){
System.out.println(node.getKey()+" "+node.getValue());
}
}
}
![内存变化理解](https://img-blog.csdnimg.cn/20201209094750779.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW94aWEzODMyNA==,size_16,color_FFFFFF,t_70#pic_center)
Java基础 遍历Map集合的两种方法
最新推荐文章于 2024-05-29 11:01:59 发布