package com.njxedu.map_;
import java.util.*;
@SuppressWarnings({"all"})
/**
* @Author 实习Java工程师
*/
public class MapExercise_ {
public static void main(String[] args) {
Map map = new HashMap();
map.put("邓超", "孙俪");
map.put("王宝强", "马蓉");
map.put("宋喆", "马蓉");
map.put("刘令博", null);
map.put(null, "刘亦菲");
map.put("鹿晗", "关晓彤");
//六种遍历方式
//先把所有的 key 取出来,通过 key 取出对应的 Value
Set set = map.keySet();
//第一组
//第一种: 使用增强 for 循环
for (Object k : set) {
System.out.println(k + "-" + map.get(k));
}
//第二种: 迭代器
System.out.println("----------迭代器---------");
Iterator iterator = set.iterator();
while(iterator.hasNext()){
Object o1 = iterator.next();
System.out.println(o1 + "-" + map.get(o1));
}
//第二组
//先把所有的 Value 取出来
Collection values = map.values();
//第一种: 使用增强 for 循环
System.out.println("-----取出所有的value 增强 for -----");
for(Object o : values){
System.out.println(o);
}
//第二种: 迭代器
System.out.println("-----取出所有的 value 迭代器-----");
Iterator iterator1 = values.iterator();
while(iterator1.hasNext()){
System.out.println(iterator1.next());
}
//第三组: 通过 EntrySet 来获取 v-t
Set entrySet = map.entrySet();
//第一种: 增强 for 循环
System.out.println("-------------增强for");
for (Object o : entrySet) {
Map.Entry m = (Map.Entry) o;
System.out.println(m.getKey() + "-" + m.getValue());
}
//第二种: 迭代器
System.out.println("--------------迭代器");
Iterator iterator2 = entrySet.iterator();
while(iterator2.hasNext()){
Map.Entry m1 = (Map.Entry) iterator2.next();
System.out.println(m1);
}
}
}
Map 的 6 种接口遍历方法
于 2022-04-06 00:00:48 首次发布