当前位置: 首页 > news >正文

双列集合——map集合和三种遍历方式

在这里插入图片描述

双列集合的特点

在这里插入图片描述
在这里插入图片描述
键和值一一对应,每个键只能对应自己的值
一个键和值整体称为键值对或键值对对象,java中叫做entry对象。
在这里插入图片描述

map常见的api

map接口中定义了双列集合所有的共性方法,下面三个实现类就没有什么额外新的方法要学习了。
在这里插入图片描述
在这里插入图片描述

map接口

map是一个接口,不能直接创建对象,要创建他实现类的对象。
有键和值两个泛型。
在这里插入图片描述

get方法

通过键,获取值
在这里插入图片描述

put方法

有两个含义:添加和覆盖
添加时候要保证键在集合里是不存在的,键不存在执行的才是添加操作。
键存在就是覆盖。
在这里插入图片描述
在这里插入图片描述

remove方法

!!把值返回。
在这里插入图片描述
演示:
在这里插入图片描述
用键移除,返回了值:
在这里插入图片描述

clear方法

在这里插入图片描述

在这里插入图片描述

判断是否包含键和值

在这里插入图片描述
在这里插入图片描述

判断集合是否是空

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

获取集合长度

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

map集合三种遍历方式

在这里插入图片描述

键找值

先把所有key获取出来放到一个单列集合中,遍历单列集合得到每一个键,再通过get方法用每个键获取每个值。

方法:keySet()

将所有的key放到一个set集合中,并返回
在这里插入图片描述
在这里插入图片描述

练习

在这里插入图片描述
迭代器:
在这里插入图片描述
lambta表达式:
foreach里面写labta表达式获取每一个键。
在这里插入图片描述

键值对

键+值一个整体。
依次获取每一个键值对对象。再依次通过getKey方法获取里面的键,通过getValue方法获取里面的值。

map的entrySet()方法

在这里插入图片描述
entry是map这个接口里的内部接口
在这里插入图片描述
所以我们需要用外部接口.调用一下
在这里插入图片描述
有时候发现前面没有,就需要上面导包:
在这里插入图片描述

代码演示

在这里插入图片描述
在这里插入图片描述

练习

在这里插入图片描述

利用lambta表达式遍历

使用forEach方法

在这里插入图片描述
在这里插入图片描述
参数:
在这里插入图片描述
函数式接口:
在这里插入图片描述

代码演示

分别用匿名内部类和labmta表达式:
在这里插入图片描述

forEach方法底层

entrySet(): 键值对对象放到set集合中
方法返回键值对set集合,集合里装着所有键值对对象,利用增强for形式遍历这个集合,entry表示每一个键值对对象,然后利用getKey和getValue获取键和值,再调用accept方法把键和值传递过去。
在这里插入图片描述
调用的accept方法就是我们自己写的这个方法
在这里插入图片描述

理解这个写法:

在这里插入图片描述
我们可以把上面第二种遍历方法写成和这个源码类似,就理解了:
源码里只是少了一个变量而已。

在这里插入图片描述

相关文章:

  • Java学习手册:SQL 优化技巧
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】4.1 日期时间标准化(时区转换/格式统一)
  • SpringMVC——第四章:三个域对象
  • MATLAB中tabulate函数——先验概率的简单估计
  • 【Redis】Java操作Redis之SpringDataRedis
  • 高并发?多线程?是一个东西吗?
  • LeetCode 热题 100 189. 轮转数组
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】3.3 异常值识别(Z-score法/IQR法/业务规则法)
  • PostgreSQL 的 ANALYZE 命令
  • R绘图|3分钟复现瑞士“苏黎世大学”Nature全球地图——基于R包ggplot2+sf等
  • 【Linux系统】条件变量
  • gitblit安装教程,搭建一个属于自己的Git版本仓库
  • 湖北理元理律师事务所:法律科技融合下的债务管理实践
  • Unity与Unreal Engine(UE)的深度解析及高级用法
  • 【网络】什么是串口链路(Serial Link)?
  • 文学与社会学是否只是在做解释的工作?
  • 【c++深入系列】:万字详解vector(附模拟实现的vector源码)
  • Oracle OCP认证考试考点详解083系列07
  • photoshop学习笔记2
  • 算法每日一题 | 入门-顺序结构-大象喝水
  • 三百余英国王室藏品,一览爱德华时代的优雅
  • 巴菲特执掌60年,伯克希尔市值如何增长5.5万倍?详解五大经典投资案例
  • AI世界的年轻人|他用影像大模型解决看病难题,“要做的研究还有很多”
  • 海警巡航时海豚围舰艇嬉戏,专家:证明海域生态环境持续向好
  • 中央宣传部、全国总工会联合发布2025年“最美职工”先进事迹
  • 江西德安回应“义门陈遗址建筑被没收”:将交由规范的义门陈相关社会组织管理