Map.Entry 的理解
Map.Entry的定义
Map的entrySet()方法返回一个实现Map.Entry接口的对象集合。集合中每个对象都是底层Map中一个特定的键/值对。通过这个集合的迭代器,获得每一个条目(唯一获取方式)的键或值并对值进行更改。Map.Entry中的常用方法如下所示:
(1) Object getKey(): 返回条目的关键字
(2) Object getValue(): 返回条目的值
(3) Object setValue(Object value): 将相关映像中的值改为value,并且返回旧值
Map.Entry的作用
Map.Entry是为了更方便的输出map键值对。一般情况下,要输出Map中的key 和 value 是先得到key的集合keySet(),然后再迭代(循环)由每个key得到每个value。values()方法是获取集合中的所有值,不包含键,没有对应关系。而Entry可以一次性获得这两个值。
常用的遍历Map的方法
Map<String, String> map = new HashMap<String, String>(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,由于二次取值,效率会比第二种和第三种慢一倍System.out.println("通过Map.keySet遍历key和value:"); for (String key : map.keySet()) { System.out.println("key= "+ key + " and value= " + map.get(key)); } //第二种 System.out.println("通过Map.entrySet使用iterator遍历key和value:"); Iterator<Map.Entry<String, String>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, String> entry = it.next(); System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } //第三种:无法在for循环时实现remove等操作 System.out.println("通过Map.entrySet遍历key和value"); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } //第四种:只能获取values,不能获取key System.out.println("通过Map.values()遍历所有的value,但不能遍历key"); for (String v : map.values()) { System.out.println("value= " + v); }
Map.entrySet迭代器会生成EntryIterator,其返回的实例是一个包含key/value键值对的对象。而keySet中迭代器返回的只是key对象,还需要到map中二次取值。故entrySet要比keySet快一倍左右。
Map.Entry 的理解相关推荐
- keySet和Map.Entry的理解
keySet方法: Map.Entry<k,v>内部接口: package com.mingyang.collector.Map;import java.util.HashMap; imp ...
- Map.entry到底是什么鬼?--------(不理解的就进来看看呀呀)
如果连Map是什么你都理解不了,那我相信你也不会看到这里了. 文章目录 一.Map.entry是什么? 二.Map如何遍历? 三.分享结束 一.Map.entry是什么? Map是java中的接口,M ...
- 另一种遍历Map的方式: Map.Entry 和 Map.entrySet()
源网址: http://blog.csdn.net/mageshuai/article/details/3523116 今天看Think in java 的GUI这一章的时候,里面的TextArea这 ...
- Java中Map集合如何理解(四)——精简
目录 引言 概念 Map集合实现类 HashMap LinkedHashMap TreeMap 默认排序 自定义排序方式 常用API 遍历Map集合 键找值 键值对 Lambda表达式 结束语 引言 ...
- 【机器学习基本理论】详解最大后验概率估计(MAP)的理解
[机器学习基本理论]详解最大后验概率估计(MAP)的理解 https://mp.weixin.qq.com/s/dQxN46wEbFrpvV369uOHdA 最大似然估计(Maximum likeli ...
- 介绍map.entry接口
Map是java中的接口,Map.Entry是Map的一个内部接口.java.util.Map.Entry接口主要就是在遍历map的时候用到. Map提供了一些常用方法,如keySet().entry ...
- Java中Map的entrySet()详解 || Map.Entry的详解
Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系. Map中采用Entry内部类来表示一个映射项,映射项包含Key和Value Map.Entry的详解
- java Map及Map.Entry详解
Map是java中的接口,Map.Entry是Map的一个内部接口. Map提供了一些常用方法,如keySet().entrySet(),values()等方法. keySet()方法返回值是Map中 ...
- java map中的entry_java中Map及Map.Entry详解(组图)
java中Map及Map.Entry详解(组图) 08-22栏目:技术 TAG:map.entry map.entry Map是java中的接口,Map.Entry是Map的一个内部接口. copyr ...
最新文章
- [NOIp 2013]货车运输
- Java基础-面向对象第二特征之继承(Inheritance)
- Android7.0新特性、新功能
- wxWidgets:wxRichTextFormattingDialog类用法
- 背包问题 贪心算法 java_JS基于贪心算法解决背包问题
- Oracle学习总结(5)—— SQL语句经典案例
- EXCEL条件筛选函数
- 开发过程中沟通的重要性
- html图片闪烁设置,HTMLCSS基础-图片按钮闪烁解决方案
- HC74h595 串行输出再进行串口输出(串行通信嵌套)已测试成功。
- 《第四部分-练习题:微信朋友圈、支付宝支付功能测试点》
- 泊松融合进阶——DFT求解二维泊松方程
- 指纹图像方向图matlab,基于Matlab实现的指纹图像细节特征提取
- 接收输入的一行字符,统计出字符串包含数字的个数 2、编写一个程序,计算字符串中子串出现的次数 3、请输入星期几的第1个字母,用来判断是星期几,如果第1个字母一样,则继续判断第2个字母,依次类推。
- oracle计算timestamp差,Oracle 计算timestamp和date类型的时间差
- 既快又准并且低开销,一作亲解 MICRO 2021论文:一种自动化功耗模拟架构
- 《重新定义公司》读书笔记
- vlc for android 不能全屏,或者画面不能铺满的问题。
- 软件体系结构(2)———软件设计概论
- libminimsgbus网络通信库