Collection接口
|-- List
|--有索引,有序
|-- ArrayList
|-- 底层是可变数组结构,默认10个,每次增长50%
|-- 特点:查询块,增删慢,线程不安全
|-- LinkedList
|-- 底层是链表数据结构
|-- 特点:查询慢,增删块,线程不安全
|-- Vector
|-- 底层是可变数组结构,默认10个,每次增长100%
|-- 线程安全,效率低,被ArrayList替代
|-- Set
|-- 没有索引,无序,不允许重复元素
|-- HashSet
|-- 底层是哈希表,不存储重复元素
|-- 存储自定义对象,需要覆盖对象中的hashCode和equals方法,保证对象对象唯一
|-- TreeSet
|-- 底层是二叉树结构,不存储重复元素
|-- 存储对象,按照对象的自然顺序排序
|-- 自定义对象,必须具备比较性
|--对象本身具备比较性,实现Comparable接口,覆盖compareTo方法
|--TreeSet本身具备比较性,自定义比较器,实现Comparator接口,覆盖compare方法
|-- LinkedHashSet
|-- 底层是基于链表的哈希表结构
|-- 保证元素的存储和取出顺序
|