HashMap的entrySet()方法

来源:互联网 发布:semaphore c语言 编辑:程序博客网 时间:2024/06/05 20:12
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;


public class Practice03 {
     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被重新封装的对象
          //      System.out.println(entry.getKey() + "=" + entry.getValue());
            }
            System.out.println("======================");
            //同样对Set视图的操作会反映到原本的HashMap
            for(String key : hs.keySet()){
          //      System.out.println(key+"="+hs.get(key));
            }
        }
    
}
0 0