zoukankan      html  css  js  c++  java
  • 【集合:Collection】

    集合:Collection(单列集合)

      List(有序,可重复)

        ArrayList

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

        Vector

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

        LinkedList

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

      Set(无序,唯一)

        HashSet

          底层数据结构是哈希表

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

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

            执行顺序:

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

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

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

                是 false:就直接添加到集合

              否:就直接添加到集合

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

        LInkedHashSet

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

          由哈希表保证元素唯一

        TreeSet

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

          如何保证元素唯一性呢?

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

          如何保证元素的排序呢?

            两种方式

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

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

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

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

    终身学习者
  • 相关阅读:
    MySQL 清理slowlog方法
    MySQL定位锁争用比较严重的表
    Jvm介绍
    MyEclipse6.5的SVN插件的安装
    BASE64图片转字符串
    JDK常用工具
    Ftp服务端安装-Linux环境
    数据结构之队列
    自定义Exception异常
    基于Lua语言的触动精灵脚本开发
  • 原文地址:https://www.cnblogs.com/zuixinxian/p/10340734.html
Copyright © 2011-2022 走看看