Map集合:该集合存储键值对,一对一对往里存,而且要保证键的唯一性。
1、添加:
put(K key,V value)
putAll(Map<? extends Key,?extends V> m)
2、删除:
clear();
remove()
3、判断:
containsValue(Object value)
containsKey(Object key)
isEmpty( )
4、获取:
get(Object key)
size()
Collection(V) values( );返回此映射中包含的值的Collection视图。
set (Map Entry(K, V)) entrySet():返回此映射中包含的映射关系的Set视图。
Set(K) KeySet( ):返回此映射中包含的键的Set 视图:
Map:
|----HashTable:底层是Hash表数据结构,不可以存入Null键或Null值,该集合是线程同步的。(JDK1.0)效率低
|----HashMap:底层是Hash表数据结构,允许使用Null键或Null值,该集合是线程不同步的。(JDK1.2)效率高
HashMap,和HashTable的区别:就是可以存入空键空值,以及线程不同步。
|----TreeMap:底层是二叉树数据结构,线程不同步,可以用于给Map集合中的键进行排序。
和Set很像,其实,set底层就是使用了Map集合。
put():方法会返回这个键原来的那个值,当存入相同键的时候,新的值会替换旧的值。
5、Map集合的元素的两种取出方式:(get一次只能取出一个元素的值)
1)Set (k) keySet( ):将Map中所有的键存入Set集合,因为Set具备迭代器,所以,可以用迭代方式取出所有的键。
在根据get方法,获取每一个键对应的值。
Map集合取出的原理:(Map集合不需要迭代器)将Map集合转成Set集合,在通过迭代器取出。
2)Set <Map.Entry<k,v>> entrySet( ):将Map集合中的映射关系存入到Set集合中,
而这个关系的数据类型就是:Map.Entry
|
|