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
  • 相关阅读:
    【Cocos2d-X游戏实战开发】捕鱼达人之游戏场景的创建(六)
    WPF-24:绘制正多边形
    长假引起的系统审批流的变更的思考
    Linux shell编程02 shell程序的执行 及文件权限
    poj2787 算24
    REVERSE关键字之REVERSE索引
    设计模式读书笔记-----备忘录模式
    乔布斯的基本原则 (斯卡利访谈录 )
    MediaInfo源代码分析 1:整体结构
    Python 入门教程 9 ---- A Day at the Supermarket
  • 原文地址:https://www.cnblogs.com/qducn/p/6230905.html
Copyright © 2011-2022 走看看