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. 【读书笔记】iOS网络-HTTP-URL百分号编码

    代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, ty ...

  2. iOS 在制作framework时候对aggregate的配置

    # Sets the target folders and the final framework product.# 如果工程名称和Framework的Target名称不一样的话,要自定义FMKNA ...

  3. Android 之 json数据的解析(jsonReader)

    json数据的解析相对而言,还是比较容易的,实现的代码也十分简单.这里用的是jsonReade方法来进行json数据解析. 1.在解析之前,大家需要知道什么是json数据. json数据存储的对象是无 ...

  4. informatica 厂商培训资料

    1.informatica中domain与node的理解: domain 类似于局域网,node就是局域网中的节点或者计算机. node应与repository在数据库中存储在不同的scheme中,此 ...

  5. Effective Java 17 Design and document for inheritance or else prohibit it

    Principles The class must document its self-use of overridable methods. A class may have to provide ...

  6. RESTful API的设计与开发

    自己做过关于RESTful API的培训,下载

  7. android中TimePicker和DatePicker的简单使用

    package com.example.demo10; import java.util.Calendar; import android.support.v7.app.ActionBarActivi ...

  8. 最近学习linux常用命令。

    一.文件系统的管理tips:输入命令的时候要常用tab键来补全 ls 查看目录信息 ( ls / ) ls -l 等价于 llpwd 查看当前所处的路径 cd 切换目录 (cd /) ,如果不带参数则 ...

  9. java 基础

    一 4类8种基本数据类型 逻辑型   - boolean 文本型   - char 整数型   - byte short int long 浮点数型 - float double ☆java各整数类型 ...

  10. 【ubuntu】中文输入法安装二三事

    本来很愉快地刷着JS程序,很有感慨啊,想写篇博客记一下学习笔记,结果忘记了博客账号,后来通过邮箱找回了之后想要开始写..发现ubuntu的中文输入法不能用啊(其实不是不能用,就是小白没搞清楚状况,双系 ...