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
HashMap 中的 entrySet()使用方法 2016.12.28的更多相关文章
- 统计字符串中每种字符出现的评率(HashMap中getOrDefault(K, V)方法的使用)
为了统计字符串中每种字符出现的频率,使用HashMap这种数据结构.其中,字符作为Key,出现的频率作为Value. 基本算法为: 1. 将字符串分成字符数组 2. (1)如果HashMap中的Key ...
- 读书笔记:《人有人的用处》------N.维纳. (2016.12.28)
读书笔记:<人有人的用处>------N.维纳 ·某些系统可以依其总能量而和其他系统区别开来. ·在某些情况下,一个系统如果保持足够长时间的运转,那它就会遍历一切与其能量相容的位置和动量的 ...
- TreeMap或者HashMap中的entrySet()方法
查看entrySet()源码 /** * Returns a {@link Set} view of the mappings contained in this map. * * <p> ...
- HashMap 中 get,put 方法源码实现
HashMap 是Map接口的一个实现类 1.线程 HashMap 非线程安全2.数据存储结构 hashMap采用Entity数组来存储 key-value对,每一个键值对组成一个Entity,键值对 ...
- com.panie 项目开发随笔_功能任务设计(2016.12.28)
(一) 第一个菜单 做什么好呢? 1)上次 在研究的功能 是 爬虫,需要将定时爬虫的任务加进来 2)博客的页面,也需要重新布局出来 3)需要做一个,添加博客的页面 (二) 那就先做博客管理吧! 先添加 ...
- 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 ...
- HashMap中的putIfAbsent使用示例
原文:https://blog.csdn.net/k3108001263/article/details/83720445 如果不存在key,则添加到HashMap中,跟put方法相似 如果存在key ...
- Java基础:HashMap中putAll方法的疑惑
最近回顾了下HashMap的源码(JDK1.7),当读到putAll方法时,发现了之前写的TODO标记,当时由于时间匆忙没来得及深究,现在回顾到了就再仔细思考了下 @Override public v ...
- 【java基础 12】HashMap中是如何形成环形链表的?
导读:经过前面的博客总结,可以知道的是,HashMap是有一个一维数组和一个链表组成,从而得知,在解决冲突问题时,hashmap选择的是链地址法.为什么HashMap会用一个数组这链表组成,当时给出的 ...
随机推荐
- C语言指针传递详解
传递指针可以让多个函数访问指针所引用的对象,而不用把对象声明为全局可访问,要在某个函数中修改数据,需要用指针传递数据,当数据是需要修改的指针的时候,就要传递指针的指针,传递参数(包括指针)的时候,传递 ...
- iOS开发笔记9:NSUserDefaults存储自定义实体对象
NSUserDefaults常常用来本地存储一些简单的数据,例如用户信息等等,NSUserDefaults支持floats.doubles.integers.Booleans.URLs.NSData. ...
- 手动方式安装 eclipse 的svn插件 Subversive和 Subversive SVN Connectors
0.下载配置jdk 链接:http://pan.baidu.com/s/1miIVuic 密码:mwo7 配置 JAVA_HOME .JRE_HOME 1 下载eclipse ecli ...
- 转 Android中shape中的属性大全
<shape> <!-- 实心 --> <solid android:color="#ff9d77"/&g ...
- mysql 批量更新与批量更新多条记录的不同值实现方法
批量更新 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 代码如下: UPDATE mytable SET myfield = 'value' WHERE other_field = ...
- jquery1.0源码【1-60行】构造函数及全局$变量
一.jquery源码1-60行 该部分代码主要完成jquery对象的创建,以及全局变量$与jQurey类的映射: /* * jQuery - New Wave Javascript * * Copyr ...
- apt-get
更新版本: apt-get --reinstall install apache2 卸载: apt-get remove apache2 只删除软件包 apt-get autorem ...
- Effective Java 54 Use native methods judiciously
Java Native Interface(JNI) allows Java applications to call native methods, which are special method ...
- 【mysql】使用脚本对mysql状态进行监控
1.mysqladmin 使用mysqladmin extended-status命令可以获得所有MySQL性能指标,即show global status的输出,不过,因为多数这些指标都是累计值,如 ...
- CSS从大图片上截取小图标的操作(转)
一张图片,用CSS分割成多个小图标. css样式: .icon{ background:url(../images/tabicons.png) no-repeat;width:18px; line-h ...