HashMap的遍历方式

1.keySet()方法遍历Map

public class MapDemo01 {


    /**
     * keySet()方法遍历Map
     *
     */
    public static void main(String[] args) {
        Map<Integer, String> map=new HashMap<Integer, String>();
        map.put(1, "java");
        map.put(2, "Php");//向Map中添加元素
        map.put(3, "c++");
        map.put(4, "c#");
        
        //keySet方法
        Set<Integer> set=new HashSet<Integer>();
        
        //获取所有key值
        set=map.keySet();
//        Iterator i=set.iterator();
//        while(i.hasNext()){
//            
//            System.out.println(map.get(i.next()));
//        }
        for (Object o : set) {
            System.out.println(map.get(o));
        }
        System.out.println();
    }

}

2.map.values()的方式

public class MapDemo02 {

    /**
     * 遍历Map第二种方式,获取所有的value,但不能获取key
     */
    public static void main(String[] args) {
        Map<Integer, String> map=new HashMap<Integer, String>();
        map.put(1, "java");
        map.put(2, "Php");//向Map中添加元素
        map.put(3, "c++");
        map.put(4, "c#");
        
        Collection<String> al=new ArrayList<String>();
        al= map.values();
        
        for (Object o : al) {
            System.out.println(o);
        }
        System.out.println();
        
        
        Collection<String> col=new LinkedList<String>();
        col=map.values();
        Iterator<String> i=col.iterator();
        while(i.hasNext()){
            Object obj=i.next();
            System.out.println(obj);
        }
    }

}

3.:通过map.entrySet打包Map.Entry对象

public class MapDemo03 {

    /**
     * Map遍历方式3:通过map.entrySet打包Map.Entry对象,将该对象存入到set集合中
     * 然后遍历出该对象,利用该对象的getKey和getValue获取Key和Value
     */
    public static void main(String[] args) {
        Map<Integer, String> map=new HashMap<Integer, String>();
        map.put(1, "java");
        map.put(2, "Php");
        map.put(3, "c++");
        map.put(4, "c#");
        map.put(5,"JSP");
        

        Set<Map.Entry<Integer,String>> set=new HashSet<>();
        set=map.entrySet();
        //迭代器方式
        Iterator<Map.Entry<Integer, String>> i=set.iterator();
        while(i.hasNext()){
            Map.Entry<Integer, String> me=i.next();
            System.out.println(me.getKey()+" "+me.getValue());
        }
        
        System.out.println("===============================================");
        
        //for each循环
        for (Entry<Integer, String> entry : set) {
            System.out.println(entry.getKey()+" "+entry.getValue());
        }
    }

}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值