• 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
  • 相关阅读:
    ES5新特性:理解 Array 中增强的 9 个 API
    ios
    Jquery异步 Deferred Object
    ES5中新增的Array方法详细说明
    Chart
    Angular常用语句
    vticker.js--垂直滚动插件
    <css系列>之css--float总结
    理解boot.img与静态分析Android/linux内核
    理解竞争条件( Race condition)漏洞
  • 原文地址:https://www.cnblogs.com/qducn/p/6230905.html
Copyright © 2020-2023  润新知