map的四种循环方式

public class MapTest {

     public static void main(String[] args) {
        Map map = new HashMap();
        map.put("1", "value1");
        map.put("2", "value2");
        map.put("3", "value3");
        map.put("4", "value4");
        //map的四种循环方式
        Set keys = new  HashSet();
        keys = map.keySet();
        //① 普遍使用
        //map.keySet() 将map中的所有键取到并存储到set集合中,
        System.out.println("①通过map.keySet遍历key和value值");
        for(String key :keys){
            System.out.println("key:" + key +"value:" + map.get(key));
        }    
        //② 通过迭代器
        System.out.println("②Map.entrySet()通过iterator遍历key和value");
        //map.entrySet()返回此映射中包含映射关系的Set视图,Map.Entry表示映射关系,
//        entrySet() 迭代后可以根据e.getValue()e.getKey()取出相关的值
        Iterator> iter = map.entrySet().iterator();
        while(iter.hasNext()){
            Map.Entry entry = iter.next();
            System.out.println("key:" + entry.getKey() +"  value:" + entry.getValue());
        }
        
        //③推介使用
        System.out.println("③通过map.entrySet()遍历获取key和value值");
        for(Map.Entry entry : map.entrySet()){
            System.out.println("key:" + entry.getKey() + "  value:" + entry.getValue());
        }
        
        
        //④ 通过map.values()遍历获取value
        System.out.println("④通过map.vlues() 遍历所有的value值,但不能遍历key值");
        for(String v : map.values()){
            System.out.println("value"+v);
        }
    }
}

你可能感兴趣的:(JAVA,map,循环)