集合进阶(Map集合)

集合进阶(Map集合)

一.Map集合

Map概述体系

双列集合

集合中的元素是一对一对的

格式:{key1=value1 , key2=value2 , key3=value3 , ...}

Map集合中的每一个元素是以key=value的形式存在的 一个key=value就称之为键值对

而且在Java中有一个类叫Entry类 Entry的对象用来表示键值对对象 Map集合也被叫做"键值对对象"

Map集合的特点(Map的应用场景):

所有键是不允许重复的 值可以重复 键和值是一一对应的 每一个键只能找到自己的对应的值

需要存储一一对应的数据时 就可以考虑使用Map集合来做

Map集合体系的特点

注意:Map系列集合的特点都是由键决定的 值只是一个附属品 值是不做要求的

HashMap(由键决定特点):无序 不重复 无索引;(用的最多) 值不做要求

LinkedHashMap(由键决定特点):由键决定特点:有序 不重复 无索引 值不做要求

TreeMap(由键决定特点:按照大小默认升序排序 不重复 无索引 值不做要求

方法名称 说明
public V put(K key,V value) 添加元素
public int size() 获取集合大小
public void clear() 清空集合
public boolean isEmpty() 判断集合是否为空 为空返回true 反之
public V get(Object key) 根据键获取对应值
public V remove(Object) 根据键删除整个元素
public boolean containsKey(Object key) 判断是否包含某个键
public boolean containsValue(Object key) 判断是否包含某个值
public Set<K> keySet() 获取全部键的集合
public Collection<V> value() 获取Map集合的全部值

Map集合遍历方式

键找值 键值对 Lambda
先获取Map集合全部的键 再通过遍历键来找值 把"键值对"看成一个整体进行遍历(难度较大) JDK1.8开始之后的新技术(非常的简单)

键找值

方法名称
public Set<K> keySet() 获取全部键的集合
public V get(Object key) 根据键获取对应值

键值对

Map提供打分法 说明
Set<Map.Entry<K,V>> entrySet() 获取所有键值对"键值对"的集合
Map.Entry提供的方法 说明
K getKey() 获取键
V getValue 获取值

Lambda

方法名称 说明
default void forEach(BiConsumer<? super K, ? super V> action) 结合lambda遍历Map集合
相关推荐
Hui Baby6 小时前
Spring Security
java·后端·spring
IT笔记7 小时前
【Rust】Rust Match 模式匹配详解
java·开发语言·rust
kyriewen7 小时前
我扒了 GPT-5.6 的全部编程跑分——有一项 OpenAI 没敢放出来
前端·gpt·ai编程
哥是强混7 小时前
Means:基于 .NET 10 打造的开源自部署 S3 兼容对象存储服务
网络·数据库·.net
ffqws_7 小时前
redis面试:如何保证双写一致
数据库·redis·缓存
我才是银古8 小时前
构建 Java GIS 工具库:从碎片化 API 到统一抽象的设计实践
java·gis·geotools·gdal·esri
前端H8 小时前
微前端 v3 架构升级:从加载隔离到状态协同
前端·架构·状态模式
TPBoreas8 小时前
配置信息防泄露方案:.env 环境隔离详解(dotenv-java)
java·开发语言
水无痕simon8 小时前
6 数据库同义词
数据库
敲代码的嘎仔8 小时前
实习日志day6--实习日志day6--title命名规范化&businessType纠正&补充缺失的@Log注解&报警与通信模块补充&产出阶段总结文档
java·开发语言·人工智能·git·python·实习·大二