haspMap的遍历

package collection;
 
import java.util.Collection;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
 
public class MapTest {
    public static void main(String[] args) {
        Map<String,Integer> m = new HashMap<>();
        m.put("hello", 11);
        m.put("world", 11);
        m.put("nihao", 21);
        m.put("shijie", 22);
         
        //输出map中的所有value
        Collection<Integer> values = m.values(); 
        for(int value: values) {
            System.out.println(value);
        }
          
        //map遍历1,通过keySet获得map中所有可以的集合,在通过key得到value
                //这种方式会遍历两次,一次是对key值得iterator,再一次是通过key获得值
        System.out.println("--------map遍历1------------");
        Set keySet = m.keySet();
        Iterator<String> it = keySet.iterator();
        while(it.hasNext()) {
            String key = it.next();
            System.out.print("[key=" + key + ",value=" + m.get(key) + "]  ");
        }
         
        //map遍历2,foreach方法来遍历keyset,和第一种没有什么区别
        System.out.println("--------map遍历2------------");
        for(Object key: keySet) {
            System.out.print("[key=" + key + ",value=" + m.get(key) + "]  ");
        }
         
        //map遍历3,Map内部的Entry封装所有map的key-value对放入集合中,集       
//合中的一个元素就包括了key和value,这样就之遍历一次就能得到集合,并可以访问所
//有key-value。
        System.out.println("--------map遍历3------------");
        Set entrySet = m.entrySet();
        Iterator it1 = entrySet.iterator();
        while(it1.hasNext()) {
            @SuppressWarnings("unchecked")
            Map.Entry<String, Integer> e = (Map.Entry<String, Integer>)it1.next();
            System.out.print("[key=" + e.getKey() + ",value=" + e.getValue() + "]  ");
        }
         
        System.out.println();
        System.out.println("--------map遍历4------------");
        //map遍历4,java8中新增方法。
        m.forEach((key,value) -> {
            System.out.print("[key=" + key + ",value=" + value + "]  ");
        });
         
        //关于hashMap的遍历,推荐使用3,4两种方法。
         
         
         
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值