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

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

  1. 统计字符串中每种字符出现的评率(HashMap中getOrDefault(K, V)方法的使用)

    为了统计字符串中每种字符出现的频率,使用HashMap这种数据结构.其中,字符作为Key,出现的频率作为Value. 基本算法为: 1. 将字符串分成字符数组 2. (1)如果HashMap中的Key ...

  2. 读书笔记:《人有人的用处》------N.维纳. (2016.12.28)

    读书笔记:<人有人的用处>------N.维纳 ·某些系统可以依其总能量而和其他系统区别开来. ·在某些情况下,一个系统如果保持足够长时间的运转,那它就会遍历一切与其能量相容的位置和动量的 ...

  3. TreeMap或者HashMap中的entrySet()方法

    查看entrySet()源码 /** * Returns a {@link Set} view of the mappings contained in this map. * * <p> ...

  4. HashMap 中 get,put 方法源码实现

    HashMap 是Map接口的一个实现类 1.线程 HashMap 非线程安全2.数据存储结构 hashMap采用Entity数组来存储 key-value对,每一个键值对组成一个Entity,键值对 ...

  5. com.panie 项目开发随笔_功能任务设计(2016.12.28)

    (一) 第一个菜单 做什么好呢? 1)上次 在研究的功能 是 爬虫,需要将定时爬虫的任务加进来 2)博客的页面,也需要重新布局出来 3)需要做一个,添加博客的页面 (二) 那就先做博客管理吧! 先添加 ...

  6. U3D笔记11:47 2016/11/30-15:15 2016/12/19

    11:47 2016/11/30Before you can load a level you have to add it to the list of levels used in the gam ...

  7. HashMap中的putIfAbsent使用示例

    原文:https://blog.csdn.net/k3108001263/article/details/83720445 如果不存在key,则添加到HashMap中,跟put方法相似 如果存在key ...

  8. Java基础:HashMap中putAll方法的疑惑

    最近回顾了下HashMap的源码(JDK1.7),当读到putAll方法时,发现了之前写的TODO标记,当时由于时间匆忙没来得及深究,现在回顾到了就再仔细思考了下 @Override public v ...

  9. 【java基础 12】HashMap中是如何形成环形链表的?

    导读:经过前面的博客总结,可以知道的是,HashMap是有一个一维数组和一个链表组成,从而得知,在解决冲突问题时,hashmap选择的是链地址法.为什么HashMap会用一个数组这链表组成,当时给出的 ...

随机推荐

  1. UISlider显示进度(并且实现图片缩放)

    图片展示效果如下: 其他没什么好说的,直接上代码: RootView.h: #import <UIKit/UIKit.h> @interface RootView : UIView @pr ...

  2. OOD沉思录 --- 类和对象的关系 --- 包含关系1

    4.5 如果类包含另一个类的对象,那么包含类应当向被包含的对象发送消息(调用方法).  也就是说,所有的包含关系都应当是使用关系. 如果不是这样,那么包含的类有什么用处呢?当然,面向过程的开发人员会想 ...

  3. JavaScript Patterns 2.9 Coding Conventions

    It’s important to establish and follow coding conventions—they make your code consistent, predictabl ...

  4. SQLServer中登录名的用户名配置

    其实这个问题困扰我很久了. 今夏(13.7)实习的时候第一次接触sqlserver 当时是统一安排,按部就班的做就行. 那时候链接数据库用的id是sa. 后来自己做小程序时候举得不管什么都用sa登录好 ...

  5. Force.com平台基础

    当我开始写这篇博客的时候,<Force.com Platform Fundamentals>的PDF版本我还没看到十分之一.由于PDF全部是英文的,所以我看起来比较吃力.我尝试过边看边做笔 ...

  6. 未能找到元数据文件“引用的DLL的路径”

    使用VS的时候   偶尔会出现错误 [未能找到元数据文件“引用的DLL的路径”] 但是实际上项目中这些DLL都是做了引用的,甚至你前一天打开还是好好的,睡一觉起来 不知道什么原因 就酱紫了 原因:不详 ...

  7. oracle中replace、length、lengthb、substr、substrb函数

    1.replacereplace(x,y,z)返回值为将字符串X中的Y串用Z串替换后的结果字符串. replace(x,y)返回值将字符串X中为Y串的地方删除例:epacel('aaabbb','bb ...

  8. c# 进程间通信 IPC

    最近在调试一个算法,想通过改变算法的参数看看结果有什么变化. 碰到一个麻烦的事情是,从磁盘加载.构建数据需要15分钟.这就比较讨厌了,也就是说我每次调一个参数前都要等15分钟启动时间? 于是我就想,能 ...

  9. C# listview 拖动节点

    /// <summary> /// 当拖动某项时触发 /// </summary> /// <param name="sender"></ ...

  10. java微信接口之三—上传多媒体文件

    一.微信上传多媒体接口简介 1.请求:该请求是使用post提交from来实现的,我们可以在网页上进行表单提交来实现.地址为: http://file.api.weixin.qq.com/cgi-bin ...