-
-
查看API可以知道:
-
将键映射到值的对象
-
一个映射不能包含重复的键
-
每个键最多只能映射到一个值
-
-
接口 Map<K,V>
-
类型参数:
-
K- 此映射所维护的键的类型 -
V- 映射值的类型
-
-
- 此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口。
-
-
Map接口和Collection接口的不同
-
Map是双列的,Collection是单列的
-
Map的键唯一,Collection的子体系Set是唯一的
-
Map集合的数据结构值针对键有效,跟值无关;Collection集合的数据结构是针对元素有效
-
2. Map集合的功能概述
-
Map集合的功能概述
-
添加功能
-
V put(K key,V value):添加元素。
-
如果键是第一次存储,就直接存储元素,返回null
-
如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
-
-
-
删除功能
-
void clear():移除所有的键值对元素
-
V remove(Object key):根据键删除键值对元素,并把值返回
-
-
判断功能
-
boolean containsKey(Object key):判断集合是否包含指定的键
-
boolean containsValue(Object value):判断集合是否包含指定的值
-
boolean isEmpty():判断集合是否为空
-
-
获取功能
-
Set<Map.Entry<K,V>> entrySet():
-
V get(Object key):根据键获取值
-
Set<K> keySet():获取集合中所有键的集合
-
Collection<V> values():获取集合中所有值的集合
-
-
长度功能
-
int size():返回集合中的键值对的个数
-
-
View Code
package com.heima.map; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; public class Demo1_Map { /** Map集合的功能概述 1. 添加功能 V put(K key,V value):添加元素。 如果键是第一次存储,就直接存储元素,返回null 如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值 2. 删除功能 void clear():移除所有的键值对元素 V remove(Object key):根据键删除键值对元素,并把值返回 3. 判断功能 boolean containsKey(Object key):判断集合是否包含指定的键 boolean containsValue(Object value):判断集合是否包含指定的值 boolean isEmpty():判断集合是否为空 4. 获取功能 Set<Map.Entry<K,V>> entrySet(): V get(Object key):根据键获取值 Set<K> keySet():获取集合中所有键的集合 Collection<V> values():获取集合中所有值的集合 5. 长度功能 int size():返回集合中的键值对的个数 */ public static void main(String[] args) { // demo1(); // demo2(); // demo3(); demo4(); } public static void demo4() { Map<String, Integer> map = new HashMap<>(); map.put("Ann",23); map.put("Bill",24); map.put("Carolle",25); map.put("Dell",21); Collection<Integer> v_set = map.values(); // 获取集合中所有值的集合 System.out.println(v_set); Set<String> k_set = map.keySet(); // 获取集合中所有键的集合 System.out.println(k_set); System.out.println(map.size()); // 返回集合中的键值对的个数 } public static void demo3() { Map<String, Integer> map = new HashMap<>(); map.put("Ann",23); map.put("Bill",23); map.put("Carolle",23); map.put("Dell",23); boolean b1 = map.containsKey("Dell"); // 判断集合是否包含指定的键 boolean b2 = map.containsValue(23); // 判断集合是否包含指定的值 System.out.println(b1); System.out.println(b2); } public static void demo2() { Map<String, Integer> map = new HashMap<>(); map.put("Ann",23); map.put("Bill",23); map.put("Carolle",23); map.put("Dell",23); Integer v1 = map.remove("Dell"); System.out.println(v1); // 返回删除键对应的值 System.out.println(map); map.clear(); // 清空键值对 System.out.println(map); } public static void demo1() { Map<String, Integer> map = new HashMap<>(); Integer v1 = map.put("Ann", 23); // 若key不存在,则返回null Integer v2 = map.put("Bill", 13); Integer v3 = map.put("Carolle", 33); Integer v4 = map.put("Dell", 43); Integer v5 = map.put("Mary", 25); Integer v6 = map.put("Ann", 28); // 重新设置键为 Ann的,值覆盖,返回覆盖的值 System.out.println(v1); System.out.println(v2); System.out.println(v3); System.out.println(v4); System.out.println(v5); System.out.println(v6); System.out.println(map); } }
-