集合Map:该集合存储键值时,是一对一对往里存的,而且要保证键的唯一性
-1.添加
put(K key,V value):如果出现添加时,相同的键,那么后添加的值会覆盖原有键对应值,并put方法会返回被覆盖的值;
putAll(Map<?extends K,? entends V>m)
-2.删除
clear()
remove(Object key)
3.判断
containsValue(Object value)
containsKey(Object key)
isEmpty()
4.获取
get(Object key):可以通过get方法的返回值来判断一个键是否存在,通过返回null来判断
size()
values()
entrySet()
keySet()
Map
-Hashtable:底层是哈希表数据结构,不可以存入null键和null值,该集合是线 程同步的,jdk1.0 ,效率底。
-HashMap:底层是哈希表数据结构,允许使用null键和null值,该集合是不同步的,jdk1.2 ,效率高
-TreeMap:底层是二叉树数据结构,线程不同步,可以用于给map集合中的键进行排序
Map和Set很像,Set的底层就是使用了Map集合,
Map集合的两种取出方式:原理:将map集合转成set集合,再通过迭代器取出。
1.keySet():将map中所有的键存入到Set集合,因为set具备迭代器。
所以可以迭代器方式取出所有的值,在根据get方法,获取每一个键对 应的值。
2.entrySet():将map集合中的映射关系存入到了set集合中,而这个关系的数据类型是:Map.Entry,通过getKey()获取对应的键,通过getValue()获取键对应的值。 |
|