10.Java中Map的entrySet() 详解以及用法
一、Map.entry是什么?
- Map是java中的接口,Map.Entry是Map的一个内部接口。
- 此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对)
- 接口中有getKey(),getValue方法(很重要的两个方法)
- Map.entry的实现类是Map子类里面的一个静态的内部类
二、Map如何遍历?
- V put(K key, V value):向Map中添加key-value
- V get(K key): 获取指定key的value,不存在返回null
- V remove(K key): 删除指定key的键值对,返回value
- Set< K > keySet(): 从Map中得到key的集合
- Set<Map.Entry<K, V>> entrySet(): 从Map集合中得到内部接口Entry的集合
原文链接:https://blog.csdn.net/qiukui111/article/details/104334174
四种遍历Map方式: 转载:链接
1 public static void main(String[] args) {
2
3 Map<String, String> map = new HashMap<String, String>();
4 map.put("1", "value1");
5 map.put("2", "value2");
6 map.put("3", "value3");
7
8 //第一种:普遍使用,二次取值
9 System.out.println("通过Map.keySet遍历key和value:");
10 for (String key : map.keySet()) {
11 System.out.println("key= "+ key + " and value= " + map.get(key));
12 }
13
14 //第二种
15 System.out.println("通过Map.entrySet使用iterator遍历key和value:");
16 Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
17 while (it.hasNext()) {
18 Map.Entry<String, String> entry = it.next();
19 System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
20 }
21
22 //第三种:推荐,尤其是容量大时
23 System.out.println("通过Map.entrySet遍历key和value");
24 for (Map.Entry<String, String> entry : map.entrySet()) {
25 System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
26 }
27
28 //第四种
29 System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
30 for (String v : map.values()) {
31 System.out.println("value= " + v);
32 }
33 }
10.Java中Map的entrySet() 详解以及用法的更多相关文章
- Java中Map的entrySet()详解
转发:原博客 由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系.Map中采用Entry内部类来表示一个映射项,映射项包含Key和ValueMap.Entry里面包含getKey() ...
- [集合]Map的 entrySet() 详解以及用法(四种遍历map的方式)
Entry 由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系. Map中采用Entry内部类来表示一个映射项,映射项包含Key和Value (我们总说键值对键值对, 每一个键值对也 ...
- java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET
java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET 亲,“社区之星”已经一周岁了! 社区福利快来领取免费参加MDCC大会机会哦 Tag功能介绍—我们 ...
- Java I/O : Java中的进制详解
作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层. ...
- Java中的main()方法详解
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是 ...
- JAVA中的GC机制详解
优秀Java程序员必须了解的GC工作原理 一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系统等,只 ...
- Java中的枚举使用详解
转载至:http://www.cnblogs.com/linjiqin/archive/2011/02/11/1951632.html package com.ljq.test; /** * 枚举用法 ...
- Java中getBytes()方法--使用详解
getBytes()方法详解 在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组.这表示在不同的操作系统下,返回的东西不一样! 1. str.getByte ...
- 关于Java中null的十点详解
对于每一个Java程序员来说,null肯定是一个让人头痛的东西,连Java的发明者都承认这是一项巨大的设计失误,今天就来总结一下Java中关于null的知识. 1.null不属于任何类型,可以被转换成 ...
- HTTP协议报文、工作原理及Java中的HTTP通信技术详解
一.web及网络基础 1.HTTP的历史 1.1.HTTP的概念: HTTP(Hyper Text Transfer Protocol ...
随机推荐
- css选择器 权重的叠加
- Ubuntu16.04系统语言设置为中文以及搜狗输入法的安装
特别声明:本文是在操作完才做的记录,不是特别详细,见谅哈! 虚拟机安装的Ubuntu16.04结果语言设置只有英文...起初没啥影响,后来发现自己的脚本注释显示全乱码,而且直接影响脚本运行(其实可能是 ...
- linux查看指定时间段日志
1.查看时间段日志:sed -n '/起始时间/,/结束时间/p' 日志文件 sed -n '/2021-05-21 10:08/,/2021-05-21 10:09/p' nohup.out2.指定 ...
- C# 使用多线程的几种方式
1.Thread 详细介绍:https://www.cnblogs.com/cheng8/p/16147918.html 使用Thread类通过ThreadStart(无参数)或Parameteriz ...
- windows 批量杀进程
1 import psutil 2 from subprocess import Popen, PIPE 3 4 process_name ="bsmr.exe,fxclient.exe,F ...
- TypeScript 元组
TypeScript 元组 我们知道数组中元素的数据类型都一般是相同的(any[] 类型的数组可以不同),如果存储的元素数据类型不同,则需要使用元组. 元组中允许存储不同类型的元素,元组可以作为参数传 ...
- TCP三次握手和四次挥手的原因所在
报文从运用层传送到运输层,运输层通过TCP三次握手和服务器建立连接,四次挥手释放连接. 为什么需要三次握手呢?为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误. 比如:client发出 ...
- cell批量改名字
本帖最后由 wanchengchen 于 2021-7-19 10:41 编辑下面是在论坛上学习到的脚本,发上来大家一起学习,使用的是virtuoso6.1.7:layout改名字:procedure ...
- Flink Heartbeat of TaskManager和Heartbeat of ResourceManager timed out问题
最近上了个Flink任务,运行一段时间后就自动停止了,很是郁闷,查看最后一个chekpoint时间点,翻看时间日志 2019-12-13 07:25:24.566 flink [flink-akka. ...
- 快速了解 Kubernetes 的架构及特性
kubernetes 已经成为容器编排领域的王者,它是基于容器的集群编排引擎,具备扩展集群.滚动升级回滚.弹性伸缩.自动治愈.服务发现等多种特性能力.本文将带着大家快速了解 kubernetes ,了 ...