import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/**
* Description:遍历Map的两种方法
* User: WuChu
* Date: 2021/7/26
* Time: 17:01
*/
public class MapTest01 {
public static void main(String[] args) {
//新建一个map
Map<Integer,String> map = new HashMap<>();
//添加数据put
map.put(1,"百度");
map.put(2,"小米");
map.put(3,"鸿星尔克");
map.put(4,"腾讯");
map.put(5,"华为");
/**
* @Description :遍历Map
* @Date : 2021/7/26 17:10
*/
//方法一:将map转化为set集合
Set<Map.Entry<Integer, String>> set = map.entrySet();
//1、使用foreach
for(Map.Entry<Integer, String> s : map.entrySet()){ //这里的Map.Entry<String, String>其实就是一个类型 用来表示键值对的类型
System.out.print(s.getKey()+ " = "); //这里其实还是相当于 s = map.entrySet,只不过s存储的是键值对。
System.out.println(s.getValue()); //所以可以用get方法获取出来存储的键值对。
}
System.out.println("-------------------");
//2、使用迭代器
Iterator<Map.Entry<Integer, String>> iterator = set.iterator();
while (iterator.hasNext()){
//先得到每一个键值对
Map.Entry<Integer, String> node = iterator.next();
Integer key = node.getKey();
String value = node.getValue();
System.out.println(key + " = " + value);
}
System.out.println("-----------------");
//方法二:遍历key,可以获取value的值
Set<Integer> keys = map.keySet();//获取所有的key
//1、通过迭代器
Iterator<Integer> it = keys.iterator();
while (it.hasNext()){
Integer key = it.next();//获取key
String value = map.get(key);//获取key对应的value
System.out.println(key+ " = "+ value);//输出
}
System.out.println("------------------");
//2、通过foreach
for (Integer key: keys){
System.out.println(key+" = "+map.get(key));
}
}
}
遍历Map集合的两种方法
于 2021-07-26 17:48:55 首次发布