集合之Map集合
AI-摘要
切换
Tianli GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
集合之Map集合
REAI什么是Map集合
- Map集合是一种双列集合,每个元素都包含两个数据
- Map集合的每个元素的格式:key=value(键值对元素)
- Map集合也被称为“键值对集合”
- Map集合的完整格式:{key1=value1,key2=value2,key3=value3….}
Map集合的体系结构
- Map集合的特点是由键来决定的
- Map集合的键是无序、不重复,无索引的,值不做要求可以重复
- Map集合后面重复的键对应的值会覆盖前面重复键的值
- Map集合的键值对都可以为null
Map集合实现类的特点
HashMap的特点
- HashMap是Map里的一个实现类。它的键是无序、不重复、无索引的
- HashMap跟HashSet底层原理是一样的,都是哈希表的结构,只是HashMap的每个元素包含两个值
- Set集合的底层原理就是Map实现的。只是Set集合中只要键数据,不要值数据
- 也是依赖hashCode方法和equal方法保证键的唯一
1 | //1.创建Map集合对象 |
LinkedHashMap的特点
- 有序、不重复、无索引
- 有序指的是保证存储和取出元素的顺序一致
- 底层依然是哈希表,只是每个键值对又额外多了双链表的机制记录存储的顺序
1 | //1.创建Map集合对象 |
TreeMap的特点
- 不重复、无索引、可排序
- 按照键数据的大小默认升序排序,只能对键排序
- TreeMap集合必须要排序,可以默认排序,也可以将键按照指定的规则进行排序
Map集合常用API
1 | Map<String,Integer> maps = new LinkedHashMap<>(); |
Map集合的遍历方式
- 先获取Map集合的全部键的Set集合,然后遍历Set集合,通过键提取对应值
1 | Map<String,Integer> maps = new LinkedHashMap<>(); |
- 将Map集合中的键值对当做一个整体,先把Map集合转换成Set集合,Set集合中每个元素都是键值对实体类型。然后遍历Set集合,提取键以及提取值
1 | /* |
不可变集合
- 不可以被修改的集合
- 集合的数据在创建的时候提供,在整个生命周期中都不可修改,否则报错
- 在List、Set、Map接口中,都存在of方法,可以创建一个不可变集合
评论
匿名评论隐私政策