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
时间: 2024-11-05 16:47:10

HashMap 中的 entrySet()使用方法 2016.12.28的相关文章

HashMap中的keySet()和entrySet()

1.基本概述 Set<Map.Entry<K,V>> entrySet()  返回此映射中包含的映射关系的 set 视图. Set<K>              keySet()      返回此映射中包含的键的 set 视图. 2.效率分析 对于keySet其实是遍历了2次,一次是转为iterator,一次就从hashmap中取出key所对于的value.而entryset只是遍历了第一次,他把key和value都放到了entry中,所以就快了. 3.使用实例 pa

Oracle中把一个DateTime的字符串转化成date类型。to_date(&#39;2016/12/8 18:55:43&#39;,&#39;yyyy/MM/dd hh24:mi:ss&#39;),

Oracle中把一个DateTime或者该形态字符串转化成date类型. to_date('2016/12/8 18:55:43','yyyy/MM/dd hh24:mi:ss'), 或者: select to_date('2010-10-20 13:23:44','yyyy-mm-dd hh24:mi:ss')  from dual; 是用" /"还是" -"取决于字符串是什么结构的. date类型转换成char类型, 例子to_char(' ','yyyymmd

数据库中substring的使用方法 CONVERT(varchar(12) , getdate(), 112 )

Sqlserver中经常要操作一些时间类型的字段转换,我又不太记得住,所以搜集了以下的一些SqlserverConvertDateTime相关的资料发表在自己的小站里,方便自己以后要用的时候寻找,望对大家也有帮助. 将sqlserver中table表的[datetime]字段值‘2007-11-0716:41:35.033’ 改为‘2007-11-0700:00:00‘去除了时分秒.[datetime]字段要为datetime类型的哦. UPDATE table SET[datetime]= C

HashMap中使用自定义类作为Key时,为何要重写HashCode和Equals方法

之前一直不是很理解为什么要重写HashCode和Equals方法,才只能作为键值存储在HashMap中.通过下文,可以一探究竟. 首先,如果我们直接用以下的Person类作为键,存入HashMap中,会发生发生什么情况呢? public class Person { private String id; public Person(String id) { this.id = id; } } import java.util.HashMap; public class Main { public

mysql练习题-2016.12.16

>>>>>>>>>> 练习时间:2016.12.16 编辑时间:2016-12-20-->22:12:08 题: 涉及:多表查询.exists.count().group by.order by 1.1 关系模式 学生student:   SNO:学号:   SNAME:姓名:   AGE:年龄 :   SEX:性别 课程course:CNO:课程代码,CNAME:课程名称,TEACHER:教师 学生成绩SC:SNO:学号,CNO:课程代码

javascript中数组比较大小方法

javascript中数组取最大值和最小值 1.排序法 我们给数组进行排序,可以按照从小到大的顺序来排,排序之后的数组中第一个和最后一个就是我们想要获取的最小值和最大值.排序我们会用到数组的 sort 方法. var arr = [12,56,25,5,82,51,22]; arr.sort(function (a, b) { return a-b; }); // [5,12,22,25,51,56] var min = arr[0]; // 5 var max = arr[arr.length

关于hashMap中 计算hashCode的逻辑推理(二)

hashMap中,为了使元素在数组中尽量均匀的分布,所以使用取模的算法来决定元素的位置.如下: 1 //方法一: 2 static final int hash(Object key){//jdk1.8 3 int h; 4 return (key == null) ? 0 : h = key.hashCode() ^ (h >>> 16); 5 } 6 //方法二: 7 static int indexFor(int h,int length){//低版本的源码 8 return h

用python+selenium抓取豆瓣电影中的正在热映前12部电影并按评分排序

抓取豆瓣电影(http://movie.douban.com/nowplaying/chengdu/)中的正在热映前12部电影,并按照评分排序,保存至txt文件 #coding=utf-8 from selenium import webdriver import unittest from time import sleep class DoubanMovie(unittest.TestCase):     def setUp(self):          self.dr = webdriv

笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用

Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDispatcher 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <filter>     <filter-name>struts2</filter-name>     <filter-class>org.apache.struts2.di