Map遍历的四种方案

     最近发现一个蛋疼的问题,有些小问题,遇到之后,百度一下解决了,然后再次遇到,还是不会,还得百度一下,然后第三次遇到,还是不会。这就蛋疼了,这些知识点,遇到就得查,感觉是应该掌握的,没有办法,以后还是记录一下吧。反正文章不能发表到首页,也没几个人看,就当记笔记好了。

  1.     第一种方案:二次取值
        这种方案是通过Map.keySet来遍历map的key来实现遍历:具体代码如下:
       
    for(Integer key:map.keySet()){
    			map1.put(key, map.get(key));
    		}

  2. 第二种方案,迭代器iterator
     使用迭代器将整个map实现迭代,代码如下:
     
    Iterator<Map.Entry<Integer, String>> iterator=map.entrySet().iterator();
            while(iterator.hasNext()){
            	Map.Entry<Integer, String> entry=iterator.next();
            	map2.put(entry.getKey(), entry.getValue());
            }

  3. 第三种方案, EntrySet
      使用Map.entrySet来遍历map的key和value。推荐使用,特别是大容量的map
     
    for(Map.Entry<Integer, String> entry:map.entrySet()){
            	map3.put(entry.getKey(), entry.getValue());
            }

  4. 第四种方案,最残缺的一个方案(只能遍历value)
     这种方案是使用map的values()方法,只能遍历value,不能获取key
     
    int i=1;
            for(String value:map.values()){
            	map4.put(i, value);
            	i=i+1;
            }

    OK,以上就是这四种方案的简单介绍,详细代码请参考我的github:
        https://github.com/LiuJishuai/javaCore/blob/master/src/com/collection/Collection_Map_Classic01.java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值