HashMap的entrySet()方法

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));
            }
        }
    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值