一、Map 集合
1.1、Map 集合概述和使用
1.1.1、Map 集合概述
- Map 集合:
lnterface Map<K,V> K:键的类型;V:值的类型
- 将键映射到值的对象。
- 不能包含重复的键;每个键可以映射到最多一个值。
1.1.2、Map 集合的使用
// 创建集合对象
HashMap<String, String> map = new HashMap<>();
// V put(K key,V value):将指定的值与该映射中的指定键相关联。
map.put("it001","林青霞");
map.put("it002","王祖贤");
map.put("it003","张曼玉");
map.put("it003","柳岩"); // 键值重复,新数据替换旧数据
// 输出集合对象
System.out.println(map);
1.2、Map 集合的基本功能
| 方法名 |
说明 |
| V put(K key,V value) |
添加元素 |
| V remove(Object key) |
根据键删除值对元素 |
| void clear() |
移除所有的键值对元素 |
| boolean isEmpty() |
判断集合是否为空 |
| boolean containsKey(Object key) |
判断集合是否包含指定的键 |
| boolean containsValue(Object value) |
判断集合是否包含指定的值 |
| int size() |
集合的长度,也就是集合中键值对的个数 |
1.2.1、put(K key,V value),remove(Object key) 方法
- put(K key,V value):添加键值对。
- remove(Object key):根据键删除值对元素,并返回被删除的元素。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();
map.put("it001","林青霞");
map.put("it002","张曼玉");
map.put("it002","柳岩"); // 键值重复,新数据替换旧数据
map.remove("it001");
// 输出集合对象
System.out.println(map);
1.2.2、clear(),isEmpty() 方法
- clear():移除所有的键值对元素。
- isEmpty():判断集合是否为空。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();
map.put("it001","林青霞");
// 清空元素
map.clear();
// 判断集合是否为空
System.out.println(map.isEmpty());
// 输出集合对象
System.out.println(map);
1.2.3、containsKey(Object key),containsValue(Object value) 方法
- containsKey(Object key):判断集合是否包含指定的键。
- containsValue(Object value):判断集合是否包含指定的值。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();
map.put("it001","林青霞");
System.out.println(map.containsKey("it001"));
System.out.println(map.containsValue("林青霞"));
// 输出集合对象
System.out.println(map);
1.2.4、size() 方法
- size():集合的长度,也就是集合中键值对的个数。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();
map.put("it001","林青霞");
System.out.println(map.size());
// 输出集合对象
System.out.println(map);
1.3、Map 集合的获取功能
| 方法名 |
说明 |
| V get(Object key) |
根据键获取值 |
| Set<K> keySet() |
获取所有键的集合 |
| Collection<V> values() |
获取所有值的集合 |
| Set<Map.Entry<K,V>> entrySet() |
获取所有键值对对象的集合 |
1.3.1、get(Object key) 方法
// 创建集合对象
HashMap<String, String> map = new HashMap<>();
map.put("it001","林青霞");
System.out.println(map.get("it001"));
1.3.2、Set<K> keySet() 方法
- Set<K> keySet():获取所有键的集合。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();
map.put("it001","林青霞");
// 获取并存储所有 键 的集合
Set<String> str = map.keySet();
// 遍历存储 键 的集合
for (String s : str){
System.out.println(s);
}
1.3.3、Collection<V> values() 方法
- Collection<V> values():获取所有值的集合。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();
map.put("it001","林青霞");
// 获取并存储所有 值 的集合
Collection<String> str = map.values();
// 遍历存储 值 的集合
for (String s : str){
System.out.println(s);
}
1.3.4、Set<Map.Entry<K,V>> entrySet() 方法
- Set<Map.Entry<K,V>> entrySet():获取所有键值对对象的集合。
// 创建集合对象
HashMap<String, String> map = new HashMap<>();
map.put("it001","林青霞");
map.put("it002","林青霞");
// 获取所有键值对对象的集合
Set<Map.Entry<String, String>> en = map.entrySet();
// 遍历键值对对象的集合,得到每一个键值对对象
for(Map.Entry<String,String> me : en){
// 通过 Map.Entry<K,V> 集合中的 getKey() 和 getValue() 方法获取键值对对象的键和值
String key = me.getKey();
String value = me.getValue();
System.out.println(key+", "+value);
}