集合进阶-map
Map集合的概述和使用
Map集合概述
- Interface Map<K,V> K:键的类型 V:值的类型
- 将键映射到值的对象;不能包含重复的键;每个键可以映射到最多一个值
- 举例,学生的学号(键)和姓名(值)
创建Map集合的对象
- 使用多态的方式
- 具体的实现类 HashMap
Map基本功能
| 方法名 | 说明 |
|---|---|
| V put(K key,V value) | 添加元素(也可以更新指定键的值) |
| V remove(Object key) | 根据键删除值(返回键被删除的值) |
| void clear() | 移除所有键值元素 |
| boolean containsKey(Object key) | 判断集合中是否包含指定的键 |
| boolean containsValue(Object value) | 判断集合是否包含指定的值 |
| boolean isEmpty() | 判断集合是否为空 |
| int size() | 集合的长度(集合中键值对的个数) |
Map集合的获取功能
| 方法名 | 说明 |
|---|---|
| V get(Object key) | 根据键获取值 |
| Set |
获取所有键的集合 |
| Collection |
获取所有值的集合 |
| Set<Map.Entry<K,V>> entrySet() | 获取所有键值对 对象的集合 |
注:keySet和values方法的返回值是Set接口实现类和Collection接口实现类的具体对象
Map集合的遍历
方法一
- 获取所有键的集合,使用keySet()方法实现
- 遍历这个集合
- 利用get(Object key)方法在集合中获取到每一个键的值
1 | |
方法二
- 获取所有键值对 对象的集合,使用entrySet()方法实现
- 遍历键值对 对象的集合,得到每一个键值对 对象
- 使用getKey()得到键,使用getValue得到值
1 | |
Map补充
HashMap实现类中重写了toString方法,输出格式为 键=值
当key为引用类型对象时,我们需要在类中重写hashCode和equals方法才能保证键唯一性
Map中如果想要实现按键值有序排列元素,可以使用TreeMap实现类
集合进阶-map
http://blog.170827.xyz/2022/08/25/集合进阶-map/