zoukankan      html  css  js  c++  java
  • 遍历Map集合:java.util.Map.Entry、KeySet两种方式

    遍历Map集合的两种方式:

    1、用KeySet
    Map.keySet(),返回一个存放所有key的set集合,通过遍历集合,根据key值取出所有的value值。
    Map<String,String>  testMap1 = new HashMap<String,String>();
    testMap1.put("keyA","valueA");
    testMap1.put("keyB","valueB");
    testMap1.put("keyC","valueC");
    Set keys = testMap1.keySet();//存放key的set
    if(keys != null){
         for(String key : keys){//遍历set
             System.out.println("key="+key+",value="+testMap1 .get(key)); 
         }
    }
    2、用java.util.Map.Entry
    Map.entrySet()返回一个存放映射项的set: Set<Map.Entry<K,V>>
    Map.Entry 接口中有相应的getKey和getValue方法,可直接从一个映射向中取出key和value
    Map<String,String>  testMap2 = new HashMap<String,String>();
    testMap2.put("keyA","valueA");
    testMap2.put("keyB","valueB");
    testMap2.put("keyC","valueC");
    
    //方法一,for循环遍历
    for(Map.Entry<String,String> mapEntry : testMap2 .entrySet()){
         System.out.println("key=" + mapEntry.getKey()  + ",value=" + mapEntry .getValue());
    }
    
    //方法二,用Iterator()迭代器
    Iterator iterator = testMap2.entrySet().iterator();
    while(iterator .hasNext()){
         Map.Entry<String,String> entry = (Entry<String,String> )iterator.next();
         System.out.println("key="+entry .getKey()+",value="+entry .getValue() );
    }

    3、总结:Map.Entry相比于KeySet的好处在于可以直接取出key和value,而不必先取出所有的key,在根据key去map中取value值。

     
     
  • 相关阅读:
    php7.1安装
    nginx 的限制连接模块limit_zone与limit_req_zone
    selinux导致docker启动失败
    docker学习笔记
    kvm虚拟机
    ZooKeeper在线迁移
    启动EMQ(emqtt)时报错找不到libsctp.so.1
    Linux Samba服务主配文件smb.conf中文详解
    python-day7-字符串类型的内置方法
    python-day7-数字类型的内置方法
  • 原文地址:https://www.cnblogs.com/bjh1117/p/7561556.html
Copyright © 2011-2022 走看看