10-8 集合
/**
* 一、Map的实现类的结构:
* |---Map:双列数据,存储key-value对数据
* |---HashMap:作为Map的主要实现类:线程不安全的,效率高,可以存储null的Key和value
* 底层使用:数组+l链表(jdk7及之前)
* 数组+链表+红黑树(jdk 8)
* |—--LinkedHashMap:在保证遍历map元素时,可以按照添加的顺序实现遍历。
* 原因:在原有的HashMap底层结构基础上,添加了一对指针,指向前一个和后一个元素
* 对于频繁的遍历操作,此类的执行效率要高于HashMap
* |---TreeMap:保证按照添加的key-value对进行排序,实现排序遍历,此时考虑key的自然排序或定制排序
* 底层使用红黑树
* |---Hashtable:作为古老的实现类:线程安全的,效率低:不能存储null的key和value
* |---Properties:常用来处理配置文件,key和value都是String类型
* 二、Map结构的理解:
* Map中的key:无序的、不可重复的,使用Set存储所有的key -->key所在的类要重写equals()和 hashCode()方法(以HashMap为例)
* Map中的value:无序的、可重复的,使用Collection存储所有的value-->value所在的类要重写 equals()
* 一个键值对:key-value构成了一个Entry对象
* Map中的entry:无序的、不可重复的,使用Set存储所有的entry
*/

近期评论