Map接口
-
Map接口定义了存取”键—值对“的方法
-
用于保存具有映射关系的键值对数据
-
Map<K,V>接口中的 key 和 value 可以是任何引类型的数据,key 不允许重复原因和 HashSet 一样,value 可以重复,value 可以重复,key 和 value 都可以是 null 值,但是 key 为 null 只能有一个, value 为 null 可以有多个,之间存在着单向一对一的关系,通过 key 值一定可以找到对应的 value 值
-
Map接口有三个实现类,分别是 HashMap 、 TreeMap、Hashtable,但是最常用的还是HashMap
-
常用方法:
-
Object put(Object key,Object value) //将指定键值对(key 和 value)添加到 Map 集合中,如果此 Map 集合以前包含一个该键 key 的键值对,则用参数 key 和 value 替换旧值。
-
Object get(Object key) //返回指定键 key 所对应的值,如果此 Map 集合中不包含该键 key,则返回 null。
-
Object remove(Object key) //如果存在指定键 key 的键值对,则将该键值对从此 Map 集合中移除。
-
Set keySet() //返回此 Map 集合中包含的键的 Set 集合。在上面的程序最后添加下面的语句:System.out. println(domains.keySet());,则会输出[com, edu, org, net]。
-
Collection values() //返回此 Map 集合中包含的值的 Collection 集合。在上面的程序最后添加下面的语句:System.out.println(domains.values());,则会输出[工商企业,教研机构,非营利组织,网络服务商]。
-
boolean containsKey(Object key) //如果此 Map 集合包含指定键 key 的键值对,则返回 true。
-
boolean containsValue(Object value) //如果此 Map 集合将一个或多个键映射到指定值,则返回 true。
-
int size() //返回此 Map 集合的键值对的个数。
HashMap类
- 有一一对应的需求可以用 HashMap 来实现,比如可以根据com查到工商企业,可以通过org删除对应的非营利性组织
遍历Map的映射数据
- Map -> 单值集合 -> 使用增强 for 或者迭代器 Iterator 遍历