1.Map集合基于 键(key)/值(value)映射。每个键最多只能映射一个值。键可以是任何引用数据类型的值,不可重复;值可以是任何引用数据类型的值,可以重复;键值对存放无序。
•Map常用实现类:
一,HashMap:允许使用 null 值和 null 键;此类不保证映射的顺序;在多线程操作下不安全
二,LinkedHashMap:基于哈希表和链接列表的实现类;具有可预知的迭代顺序(双重链接表的有序性)
三,.Properties:Hashtable的一个子类;属性列表中每个键及其对应值都是一个字符串;在多线程操作下安全
方法有:
1.put(K key, V value) 将键(key)/值(value)映射存放到Map集合中
形如:
HashMap<String ,String> Map=new HashMap<String,String>();
Map.put("110", "wang");
2.get(Object key) 返回指定键所映射的值,没有该key对应的值则返回 null。•当且仅当Map集合中包含满足(key==null ? k==null : key.equals(k))条件的键k时则此方法才返回相应的v,否则返回 null。
3.size() 返回Map集合中数据数量
验证2和3:
4.clear() 清空Map集合
5.isEmpty () 判断Map集合中是否有数据,如果没有则返回true,否则返回false
验证4和5:
6.remove(Object key) 删除Map集合中键为key的数据并返回其所对应value值。只有Map集合中包含满足(key==null ? k==null :key.equals(k)) 的键k的映射关系时才能移除该映射关系。
7.values() 返回Map集合中所有value组成的以Collection数据类型格式数据。
验证6和7:
8.containsKey(Object key) 判断集合中是否包含指定键,包含返回 true,否则返回false。当且仅当Map集合中含有满足 (key==null ? k==null : key.equals(k))的键k的映射关系时,才返回 true.
9.containsValue(Object value) 判断集合中是否包含指定值,包含返回 true,否则返回false。当且仅当Map集合中至少包含一个满足 (value==null ? v==null : value.equals(v)) 的值v的映射关系时才返回true。
验证8和9:
10.keySet() 返回Map集合中所有key组成的Set集合
11.entrySet() 将Map集合每个key-value转换为一个Entry对象并返回由所有的Entry对象组成的Set集合
验证10和11: