10-8 程宗武

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
 */

image-20201009085205884

标签

评论