Map的常见遍历操作

package com.crazystone.util;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class MapUtil
{
	//1 map 常用遍历方法1
	//转成entrySet,通过forEach遍历,好处是同时可以得到key和value
	public static void iteratesMap(Map<String, Object> map)
	{
		for(Map.Entry<String, Object> obj : map.entrySet())
		{
			String key = obj.getKey();
			Object value = obj.getValue();
			System.out.println(key+":"+value);
		}
	}
	
	//2 map 常用遍历方法2
	//转成entrySet,通过Iterator遍历,好处是同时可以得到key和value
	public static void iteratesMap2(Map map)
	{
		Set set = map.entrySet();
		Iterator it = set.iterator();
		while(it.hasNext())
		{
			Map.Entry<String, Object> obj = (Map.Entry<String, Object>)it.next();
			String key = obj.getKey();
			Object value = obj.getValue();
			System.out.println(key+":"+value);
		}
	}
	
	//3 map常用遍历方法3
	//转换为keySet,这是key的一个集合
	//可以通过key得到value
	public static void iteratesMap3(Map map)
	{
		Set set = map.keySet();
		Iterator it = set.iterator();
		while(it.hasNext())
		{
			String key= (String) it.next();
			Object value = map.get(key);
			 System.out.println(value);
		}

	} 
	
	//map 遍历的方法4,通过.value()方法得到的是value的集合,这个集合是无顺序的。
	public static void iteratesMap4(Map map)
	{
	       /**
	        * 1.把值放到一个集合力,然后便利集合
	        */
	       Collection c=map.values();//c中存放的都是map的value值得集合
	       Iterator it= c.iterator();
	       for (; it.hasNext();)
	        {
	            System.out.println(it.next());
	        }

	} 
	
	
	public static void main(String[] args)
	{    
	       /**
	        * new一个map,然后添加内容
	        */
	       Map map=new HashMap();
	       for (int i = 0; i < 10; i++)
	        {
	            map.put(i+"",i+"1");
	            System.out.println("添加"+i+"成功");
	        }
	       System.out.println("map大小"+map.size());
	       
	       
	       iteratesMap2(map);
	       iteratesMap3(map);
	       iteratesMap4(map);
	 }

}

你可能感兴趣的:(java集合)