总


Connection接口:

List 有序,可重复(ps:有序是指按照插入的顺序存储)

    ArrayList
    优点: 底层数据结构是数组,查询快,增删慢。
    缺点: 线程不安全,效率高
    Vector
    优点: 底层数据结构是数组,查询快,增删慢。
    缺点: 线程安全,效率低
    LinkedList
    优点: 底层数据结构是链表,查询慢,增删快。
    缺点: 线程不安全,效率高

Set 无序,唯一

    HashSet
    底层数据结构是哈希表。(无序,唯一)
    如何来保证元素唯一性?
    1.依赖两个方法:hashCode()和equals()

    LinkedHashSet
    底层数据结构是链表和哈希表。(FIFO插入有序,唯一)
    1.由链表保证元素有序
    2.由哈希表保证元素唯一    TreeSet
      底层数据结构是红黑树。(唯一,有序)
使用:
   

 1. 如何保证元素排序的呢?
    自然排序
    比较器排序
    2.如何保证元素唯一性的呢?
    根据比较的返回值是否是0来决定

针对Collection集合我们到底使用谁呢?(掌握)

    唯一吗?

        是:Set

            排序吗?

                是:TreeSet或LinkedHashSet
                否:HashSet
                如果你知道是Set,但是不知道是哪个Set,就用HashSet。

    否:List

        要安全吗?

            是:Vector
            否:ArrayList或者LinkedList

                查询多:ArrayList
                增删多:LinkedList
                如果你知道是List,但是不知道是哪个List,就用ArrayList。

    如果你知道是Collection集合,但是不知道使用谁,就用ArrayList。
    如果你知道用集合,就用ArrayList。

  Queue:队列,表示先进先出(FIFO)的元素队列

    常见的实现类包括LinkedList和ArrayDeque

posted on 2019-08-27 11:19  vow007  阅读(5)  评论(0编辑  收藏  举报  来源