Collection
       |--List 有序,可重复
                 |--ArrayList
                             底层数据结构是数组,查询快,增删慢。
                             线程不安全,效率高
                 |--Vector
                            底层数据结构是数组,查询快,增删慢。
                            线程安全,效率低
                 |--LinkedList
                            底层数据结构是链表,查询慢,增删快。
                            线程不安全,效率高
       |--Set 无序,唯一
                 |--HashSet
                           底层数据结构是哈希表。
                           如何保证元素唯一性的呢?
                                        依赖两个方法:hashCode()和equals()
                                        开发中自动生成这两个方法即可
                            |--LinkedHashSet
                                        底层数据结构是链表和哈希表
                                        由链表保证元素有序
                                        由哈希表保证元素唯一
                 |--TreeSet
                           底层数据结构是红黑树。
                           如何保证元素排序的呢?
                                       自然排序(元素具备比较性):让元素所属的类实现Comparable接口
                                       比较器排序(集合具备比较性):让集合构造方法接收Comparator的实现类对象
                           如何保证元素唯一性的呢?
                                       根据比较的返回值是否是0来决定