Map集合遍历的四种方式

  • Post author:
  • Post category:其他



1.通过Map.keySet获取key的Set集合,之后在通过key进行遍历

在这里插入图片描述


2.通过Map.values获取所有value,之后再进行遍历


在这里插入图片描述


3.通过Map.entrySet获取Set集合,之后通过iterator进行遍历


在这里插入图片描述


4.直接通过foreach对Map.entrySet获取的Set集合进遍历


在这里插入图片描述


案例:

public class MapErgodic {
	public static void main(String[] args) {
		Map<Integer,String> map=new HashMap<Integer,String>();
		String[] name= {"张三","李四","王五","马六","侯七"};
		for (int i = 0; i < name.length; i++) {
			map.put(i,name[i]);
		}
		fun1(map);
		fun2(map);		
		fun3(map);		
		fun3(map);
	}
	//通过Map.keySet获取key的Set集合,之后在通过key进行遍历
	public static void fun1(Map<Integer,String>map){
		Set<Integer> s = map.keySet();
		for (Integer key : s) {
			System.out.println(key+":"+map.get(key));
		}
	}
	//通过Map.values获取所有value,之后再进行遍历
	public static void fun2(Map<Integer,String>map){
        Collection<String> values = map.values();
        for (String value: values) {
            System.out.println("value为:" + value);
        }
	}	
	//通过Map.entrySet获取Set集合,之后通过iterator进行遍历
	public static void fun3(Map<Integer,String>map){
		Set<Entry<Integer, String>> set=map.entrySet();
		Iterator<Entry<Integer,String>> iterator = set.iterator();
		while (iterator.hasNext()){
            Entry<Integer, String> entry = iterator.next();
            System.out.println( entry.getKey() + ":" + entry.getValue());
        }
	}
	//直接通过foreach对Map.entrySet获取的Set集合进遍历
	public static void fun4(Map<Integer,String>map){
		for (Entry<Integer, String> entry : map.entrySet()) {
			System.out.println(entry.getKey()+" : "+entry.getValue());	
		}
	}
}



版权声明:本文为Lzy410992原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。