双列集合:
-----------------------|Map 根接口,如果是实现了Map接口的集合类,具备的特点:存储的数据都是以键值对的形式存在的,键不可重复,值可以重复。
-------------------------------|Hashmap
-------------------------------|Treemap
-------------------------------|Hashtable
Map接口的方法:
添加:V put(K key,V value):添加键值对,如果之前不存在该键,那么返回null,如果之前存在该键,那么返回该键之前所对应的值。如果添加出现相同的键,那么后添加的将取代之前添加的值。
void putAll(Map< ? extends K,? extends V> m):将一个映射添加到另一个映射中。
获取:V get(Object key):返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回null。
判断: boolean containsKey(Object key):判断是否包含指定键的映射关系。包含返回true,否则返回false
boolean containsValue(Object value):判断指定值是否有一个或者多个键与之对应。
· boolean isEmpty():判断映射关系中是否为空。
删除: void clear()清除一个映射中所有的映射关系
V remove(Object key)根据键删除一条Map中的数据,返回该键所对应的值。
迭代:Set<K>keySet():把Map集合中的所有键都保存到set类型的集合对象中存储。缺点:只能返回所有的键,不能返回值,还要找到对应的值
Collection<V>values():把所有的值存储到一个Collection集合中返回。缺点:只能返回所有的值,不能得到键。
Set<Map.Entry<K,V>>entrySet():Entry是一个类,包含了键和值,并且Entry中有两个方法获得键和值。即getkey()和getvalue();
Entry时Map中的一个静态内部类。