------- android培训、java培训、期待与您交流! ----------
1、Map集合:该集合存储键值对,一对一对往里存。而且要保证键的唯一性。
1.添加
put ( K key,V value)
putAll(Map<? extends k,? extends V>m)
2.删除
clear()
remove(Object key)
3.判断
containsKey(Object key)
containsValue(Object value)
isEmpty( )
4.获取
get(Object key)
size()
value( )
entrySet()
keySet()
Map
|--Hashtable:底层是哈希表数据结构,不可以存入null键null值。该集合是线程同步的。jdk1.0出现
效率低
|--HashMap:底层是哈希表数据结构,允许使用null值和null键,该集合是不同步的。jdk1.2 效率高
|--TreeMap:底层是二叉树数据结构。线程不同步,可以用于给map集合中的键进行排序。
和Set很像,其实Set底层就是使用了Map集合。
2、map集合的两种取出方式:
1.Set<k> keySet:将map中所有的键存入到Set集合,因为Set具备迭代器
所以可以通过迭代方式取出所有的键,再根据get方法,获取每一个键对应的值。
Map集合的取出原理:将Map集合转成Set集合,再通过迭代器取出。
2.Set<Map.Entry<k,v>> entrySet:将map集合中的映射关系存入到了Set集合,
而这个关系的数据类型就是Map.Entry。
Map.Entry其实也是一个接口,它是Map接口中的一个内部接口。
添加元素如果出现相同的键,后添加的值会覆盖原有键对应值。
3、什么时候使用map集合呢?
当数据之间存在映射关系时,就先想map集合。