Collection从接口上一共包括了三种数据结构,Set
,List
,Map
注意这里Map并没有继承Collection的接口
关键点介绍:
- HashSet是依赖于
HashMap
实现的,值是固定的 - LinkedHashSet是继承了
HashSet
,使用HashSet
的构造函数,通过无意义的参数区分,使用的是LinkedHashMap
- TreeSet是有序唯一的集合,红黑树结构
- ArrayList内部是Object[]集合
- LinkedList是双向链表
- LinkedHashMap保存了一个双向链表。Linked会保证遍历时候的顺序,不过大多数场景都是没有用的,在某些特殊的场景,比如购物车Map会有一些作用,能够按照顾客添加的顺序进行展示。
默认初始大小、LoadFactor、扩容倍数
LoadFactor是装载因子,代表HashMap数组的存储使用比例。
集合名称 | 默认初始大小 | LoadFactory | 扩容倍数 |
---|---|---|---|
HashMap | 16 | 0.75 | 2倍 |
ArrayList | 10 | - | 1.5倍,如果还不满足就按+1去做 |