目录
4.2 HashMap案例2:键Integer值String
4.3 HashMap案例3:键String值Student
4.4 HashMap案例4:键Student值String
6.1 TreeMap案例1:键是String值是String
6.2 TreeMap案例2:键是Student值是String
7.2 List、Set、Map等接口是否都继承自Map接口?
7.3 Collection和Collections的区别?
1.Map集合的特点
- 将键映射到值的对象
- 一个映射不能包含重复的键
- 每个键最多只能映射到一个值
2.Map集合的功能概述
2.1 添加功能
- V put(K key,V value):添加元素
2.2 删除功能
- V remove(Object key):根据键删除键值对元素,并返回值
- void clear():移除所有的键值对元素
2.3 判断功能
- boolean containsKey(Object key):判断集合是否包含指定的键
- boolean containsValue(Object value):判断集合是否包含指定的值
- boolean isEmpty():判断集合是否为空
2.4长度功能
- int size():返回集合中键值对的对数
2.5获取功能
- Set<K> keySet():获取集合中所有键的集合
- V get(Object key):根据键获取值
- Collection<V> values():获取集合中所有值的集合
- Set<Map.Entry<K,V>> entrySet():返回的是键值对对象的集合
3.Map集合的遍历
3.1 根据键找值
分析步骤如下:
- 获取所有的键
- 遍历键的集合,获取得到每一个键
- 根据键去找值
部分代码如下:
// 创建集合对象
Map<String, String> map = new HashMap<String, String>();
// 向集合中添加元素
map.put("杨过", "小龙女");
map.put("杨康", "穆念慈");
map.put("郭靖", "黄蓉");
map.put("杨玄风", "梅超风");
// 获取集合中所有键的集合
Set<String> set = map.keySet();
// 遍历set,得到每一个key
for (String key : set) {
// 根据键去找值
String value = map.get(key);
System.out.println(key + "---" + value);
}
3.2 根据键值对对象找键和值
分析步骤如下:
- 获取所有键值对对象的集合
- 循环遍历键值对对象的集合,得到每一个键值对对象
- 根据键值对对象得到键和值
部分代码如下:
// 创建集合对象
Map<String, String> map = new HashMap<String, String>();
// 向集合中添加元素
map.put("杨过", "小龙女");
map.put("杨康", "穆念慈");
map.put("郭靖", "黄蓉");
map.put("杨玄风", "梅超风");
// 获取键值对对象的集合
Set<Map.Entry<String, String>> entrySet = map.entrySet();
// 循环遍历键值对对象的集合,得到每一个键值对对象
for (Map.Entry<String, String> entry : entrySet) {
// 根据键值对对象得到键和值
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + "---" + value);
}
4.HashMap的概述
- HashMap是基于哈希表的Map接口的实现。
- 哈希表的作用是用来保证的键的唯一性的。
- 哈希表结构底层依赖hashcode()方法和equals()方法!
4.1 HashMap案例1:键String值String
// 创建集合对象
HashMap<String, String> hm = new HashMap<String, String>();
// 向集合中添加元素
hm.put("allan", "男");
hm.put("bella", "女");
hm.put("zhangsan", "女");
// 遍历
// 获取所有键的集合
Set<String> set = hm.keySet();
for (String key : set) {
// 根据键去找值
String value = hm.get(key);
System.out.println(key