Map集合:该集合存储键值对。一对一对往里存,而且要保证键的唯一性。
共性方法:
1、添加
put(K key,V value)
put(Map<? extends K,? extends V> m)
添加元素,如果出现添加时相同的键,那么后添加的值会覆盖原有键对应的值。,并返回被覆盖的值。
2、删除
remove(Object Key)
clear()
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集合中的键进行排序。
和Set很像
其实Set就是底层使用了Map集合。
Map集合的两种取出方式:
1、Set<k> keySet:将Map中所有的键存入到Set集合。因为Set具备迭代器,所以可以通过迭代方式取出所有的键,再根据get方法,获取每一个键对应的值。
Map集合的取出原理:将Map转成Set集合。再通过迭代器取出。
2、Set<Map.entry<k,y>> entrySet:将集合中的映射关系存入到了Set集合中,而这个关系的数据类型就是Map.Entry。
Map.Entry 其实Entry也是一个接口,它是Map接口中的一个内部接口。
Map集合:该集合存储键值对。一对一对往里存,而且要保证键的唯一性。
共性方法:
1、添加
put(K key,V value)
put(Map<? extends K,? extends V> m)
添加元素,如果出现添加时相同的键,那么后添加的值会覆盖原有键对应的值。,并返回被覆盖的值。
2、删除
remove(Object Key)
clear()
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集合中的键进行排序。
和Set很像
其实Set就是底层使用了Map集合。
Map集合的两种取出方式:
1、Set<k> keySet:将Map中所有的键存入到Set集合。因为Set具备迭代器,所以可以通过迭代方式取出所有的键,再根据get方法,获取每一个键对应的值。
Map集合的取出原理:将Map转成Set集合。再通过迭代器取出。
2、Set<Map.entry<k,y>> entrySet:将集合中的映射关系存入到了Set集合中,而这个关系的数据类型就是Map.Entry。
Map.Entry 其实Entry也是一个接口,它是Map接口中的一个内部接口。
|
|