单列集合顶层接口
Collection
|-List有序(存入和取出顺序相同) 存入的元素可以重复 有索引 可以通过索引来操作元素
ArrayList 数组结构
LinkedList 链表结构
Vector 数组结构
|-Set 无序(存入和取出顺序不同) 存入的元素不可以重复
HashSet 哈希算法
TreeSet 二叉树算法
LinkedHashSet: 哈希算法
因为底层是链表结构 所以能保证元素有序(存入和取出的顺序相同),又因为是HashSet儿子, 也能保证元素唯一
双列集合
Map
HashMap hash+Node(单链表) 无序
TreeMap 红黑树 有序
LinkedHashMap 有序 hash+双链表 (基于插入顺序/访问顺序)
TreeSet: 对元素进行排序 元素唯一
方式一:让元素所在的类实现Comparable接口,并重写CompareTo()
方式二:利用TreeSet的有参构造方法,传入一个比较器Comparator