zoukankan      html  css  js  c++  java
  • HashMap 中的 entrySet()使用方法 2016.12.28

    package map;
    
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map.Entry;
    import java.util.Set;
    
    /**
     * @author Administrator
     *注意:HashMap不支持Iterator所以要通过其他方式迭代Map中的Key和Value
     */
    public class EntrySetDemo {
        public static void main(String[] args) {
            HashMap<String,String> hs=new HashMap<String,String>();
            //添加元素
            hs.put("key1", "value1");
            hs.put("key2", "value2");
            hs.put("key3", "value3");
            hs.put("key4", "value4");
            hs.put("key5", "value5");
            /**
             * 获取hs返回的Set视图
             * 非常注意:返回此映射中包含的映射关系的Set视图,对此Set视图的操作会反映到原来的HashMap
             */
            Set<Entry<String,String>> set=hs.entrySet();
            /**
             * 对Set进行迭代,返回的Entry包含key和value,格式为:key=value
             */
            Iterator<Entry<String,String>> iter=set.iterator();
            //这种做法输出的格式为key=value
    //        while(iter.hasNext()){
    //            System.out.println(iter.next());
    //        }
            
            //对entry进行迭代
            while(iter.hasNext()){
                Entry<String,String> entry=iter.next();//得到一个entry对象
                entry.setValue("123");//将当前迭代的Entry的value替换为123
                String key=entry.getKey();//获取当前迭代的entry对象(返回的Set视图中的Entry)的key
                String value=entry.getValue();//获取当前迭代Entry对象的value
                System.out.println(key+"="+value);
                entry.setValue("1");//在此替换当前迭代对象的Value,将映射到HashMap<String,String>
            }
            System.out.println("===========================");
            //对Set视图的编辑会反应到Entry
            for(Entry<String,String> entry:set){
                //每个Entry就是map中的一个key及其它对应的value被重新封装的对象
                for(String key:hs.keySet()){
                    System.out.println(key+"="+hs.get(key));
                }
            }
        }
        
    }

    运行结果为:

    key4=123
    key3=123
    key5=123
    key2=123
    key1=123
    ===========================
    key4=1=null
    key3=1=null
    key5=1=null
    key2=1=null
    key1=1=null
  • 相关阅读:
    指针常量 和 常量指针
    串口通讯
    C语言的抽象与函数指针2
    STM32 中常见错误 的处理方法
    串行通信之狂扯篇
    VMware中虚拟机网卡的四种模式
    VSFTP配置虚拟用户
    MySQL数据库备份命令
    rsync Linux系统下的数据镜像备份工具
    linux常用命令
  • 原文地址:https://www.cnblogs.com/qducn/p/6230905.html
Copyright © 2011-2022 走看看