package Gather.CollectionArrayList.HashMap;
import java.util.*;
/**
* @author 小王宝友
* @version 3.89
* Map的六种遍历方法
*/
@SuppressWarnings({"all"})
public class MapTraverse {
public static void main(String[] args) {
//containsKey:查找键是否存在
//keySet:获取所有的键
//entrySet:获取所有关系
//values:获取所有的值
Map map = new HashMap();
map.put("邓超","孙俪");//替换
map.put("王宝强","马蓉");//OK
map.put("宋喆","马蓉");//OK
map.put("刘令博",null);//OK
map.put(null,"刘亦菲");//OK
map.put("鹿晗","关晓彤");//OK
map.put("奥特之父","奥特之母");
//第一组:先取出所有的Key,通过Key取出对应的Value
Set keySet = map.keySet();
//(1)增强for循环
System.out.println("-----第一组第一种方式 增强for循环-----");
for (Object key :keySet) {
System.out.println(key+"-"+map.get(key));
}
//(2)迭代器
System.out.println("-----第一组第二种方式 迭代器-----");
Iterator iterator = keySet.iterator();
while (iterator.hasNext()) {
Object key = iterator.next();
System.out.println(key+"-"+map.get(key));
}
//-----------------------------------------------------------------------------------
//第二组:把所有的value取出
Collection values = map.values();
//可以使用所有Collection使用的遍历方法
//(1)增强for
System.out.println("-----第二组第一种方式 增强for循环-----");
for (Object o :values) {
System.out.println(o);
}
//(2)迭代器
System.out.println("-----第二组第二种方式 迭代器-----");
Iterator iterator1 = values.iterator();
while (iterator1.hasNext()) {
Object next = iterator1.next();
System.out.println(next);
}
//-----------------------------------------------------------------------------------
//第三组:通过EntrySet来获取k-v
//EntrySet<Map.Entry<K,V>>
Set set = map.entrySet();
//(1)增强for循环
System.out.println("-----第三组第一种方式 增强for循环-----");
for (Object entry :set) {
//将entry转成Map.Entry
Map.Entry m = (Map.Entry) entry;
System.out.println(m.getKey()+"-"+m.getValue());
}
//(2)迭代器
System.out.println("-----第三组第二种方式 迭代器-----");
Iterator iterator2 = set.iterator();
while (iterator2.hasNext()) {
Object next = (Map.Entry)iterator2.next();
//System.out.println(next.getClass());//HashMap$Node-实现->Map.Entry(getKey,getValue)
//向下转型 Map.Entry
System.out.println(next);
Map.Entry m = (Map.Entry)next;
System.out.println(m.getKey()+"-"+m.getValue());
}
}
}
【JAVASE】Map的六种遍历方式
最新推荐文章于 2024-11-12 21:14:07 发布
本文详细介绍了Java中Map对象的六种遍历方式,包括使用containsKey、keySet、entrySet和values方法。通过增强for循环和迭代器展示了如何遍历Map中的键值对,适用于理解和操作Java集合框架。
摘要由CSDN通过智能技术生成