Collection接口
Collection 层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。
1. List子接口
特点:
- 有序
- 有索引
- 可以重复
- 存多个null
1.1 ArrayList
1,特点:
是List接口的实现类,底层维护的是一个 可变长的 数组Object[]
方便查询。
2,创建对象
ArrayList()
构造一个初始容量为 10 的空列表。
1.2 LinkedList
1,特点:
是List接口的实现类,拥有List接口的所有特点
底层维护了一个链表结构,对于链表上的节点,有两个特殊位置
是开头及结尾的元素的位置.
2,创建对象
LinkedList()
构造一个空列表。
2. Set子接口
特点:
- 无索引
- 不可以重复
- 能存一个null
2.1 HashSet
1,特点:
是Set接口的实现类,拥有set接口的所有特点和方法
HashSet底层维护的是一个 哈希表/散列表
2,创建对象
HashSet()
构造一个新的空 set,其底层 HashMap 实例的默认初始容量是 16,加载因子是 0.75。
2.2 TreeSet
1,特点:
是Set接口的实现类
底层是在TreeMap的基础上进行封装,所以结构是红黑树。
因为是红黑树结构,所以不需要重写hashCode()和equals()方法来保证唯一性。
TreeMap有的特性TreeSet都有,还在这个基础上增加了保证元素唯一性的特点。
2,创建对象
TreeSet()
构造一个新的空 set,该 set 根据其元素的自然顺序进行排序。