Collection 单列集合的顶层接口
List :有序 有索引 元素可重复
ArrayList :底层数据结构是数组 查询快 增删慢 线程不安全 效率高
LinkedList :底层数据结构是链表 查询慢 增删快 线程不安全 效率高
Vector :底层数据结构是数组 查询快 增删慢 线程安全 效率低
Set 唯一
TreeSet
底层是红黑树
排序 元素唯一
根据对象的比较返回值 为0 说明 两个对象相同 则不添加 (自然排序或者比较器)
HashSet
底层是哈希表
无序 唯一
先比较hahshCode
不同 添加
相同 继续比较equals
不同 添加
相同 不添加
LinkedHashSet
底层是 链表+ 哈希表
链表保证有序 哈希表保证元素唯一
先比较hahshCode
不同 添加
相同 继续比较equals
不同 添加
相同 不添加
排序 唯一 TreeSet
HashSet 无序 唯一
LinkedHashSet 有序 唯一
查询 ArrayList
增删 LinkedList
Collections 集合的工具类
static void shuffle(List list) 将集合中元素打乱顺序
static void sort(List list) 将集合中的元素 按照自然顺序排序 集合中的元素必须实现 自然排序接口
static void sort(List list,Comparator c) 将集合中的元素 按照比较器的规则进行排序