【集合:Collection】

集合:Collection(单列集合)

  List(有序,可重复)

    ArrayList

      底层数据结构是数组,查询快,增删慢线程不安全,效率高

    Vector

      底层数据结构是数组,查询快,增删慢线程安全,效率低

    LinkedList

      底层数据结构是数组链表,查询慢,增删快线程不安全,效率高

  Set(无序,唯一)

    HashSet

      底层数据结构是哈希表

扫描二维码关注公众号,回复: 5133399 查看本文章

      哈希表依赖两个方法:hashCode() equals()

      哈希表依赖两个方法:hashCode() equals()

        执行顺序:

          首先判断 hashCode()值是否相同

          是:继续执行 equals(),看其返回值

            是 true:说明元素重复,不添加

            是 false:就直接添加到集合

          否:就直接添加到集合

        最终:自动生成 hashCode() equals()即可

    LInkedHashSet

      底层数据结构由链表和哈希表组成由链表保证元素有序

      由哈希表保证元素唯一

    TreeSet

      底层数据结构是红黑表(是一种自平衡二叉树)

      如何保证元素唯一性呢?

        根据比较的返回值是否是 0 来决定

      如何保证元素的排序呢?

        两种方式

          自然排序(元素具备比较性)

            让元素所属的类实现 Comparable 接口

          比较器排序(集合具备比较性)

            让集合接收一个 Comparator 的实现类对象

猜你喜欢

转载自www.cnblogs.com/zuixinxian/p/10340734.html