Map,HashMap五种遍历方法

假设有数组    
        HashMap h=new HashMap();
        h.put(111, "111-");
        h.put(222, "222-");


在操作之前明确几个方法的调用位置
    1.keyset方法Map接口
    2.get()方法,来自Map
    3.Set>  entrySet()  来自Map
    4.Set   keySet()  来自Map
    5.iterator()  来自 Collection
    6.getValue()和getKye()   来自  Map内部类entry

//1.使用增强for 和 keySet()方法

    //先使用Map接口中的keySet()方法  获取返回值set对象,或者叫数组
    Set s=h.keySet();
    //此时获得key值
    //遍历使用增强for
    for(Integer i:s)
    {        
        //i为key
        //使用Map接口中的get(key) 方法,返回值为对应的value
        system.out.println(h.get(i));
    }


//2.使用增强for和Iterator,keyset遍历
        
    //先使用Map接口中的keySet()方法  获取返回值set对象,或者叫数组
    Set s=h.keySet();
    //使用Iterator接口中的iterator()方法,返回值为Iterator对象,set继承了Collection
    //所以拥有iterator()方法,可以直接使用
    Iterator i=s.iterator();
    //使用增强for遍历
    while(i.hasnext())
    {
        system.out.println(s.get(i.next()));
    }

//3.使用entrySet()和增强for
        Set> s3=h.entrySet();
        for(Map.Entry m:s3)
        {
            System.out.println(m.getValue()+m.getKey());
        }


//4.使用entrySet()和Iterator
        Set> s4=h.entrySet();
        Iterator> i2=s4.iterator();
        while(i2.hasNext())
        {
            Map.Entry a=i2.next();
            System.out.println(a.getValue()+a.getKey());
        }


//5.只能遍历到内容的方法
        //Collection c2=new ArrayList();
        Collection c=h.values();
        //ArrayList a=(ArrayList)c;
        
        for(String s:c)
        {
            System.out.println(s);
        }*/

转载于:https://www.cnblogs.com/xiaozhang666/p/10463481.html

你可能感兴趣的:(Map,HashMap五种遍历方法)