zoukankan      html  css  js  c++  java
  • 单例集合的体系

    单例集合的体系

    ---------|Collection 单例集合的根接口

    ----------------|List接口 实现了List接口的对象具备有序可重复的特点

    -------------------|ArrayList 实现了List接口 底层采用了Object数组实现,特点是查找快,增删慢

    -------------------|LinkList 实现了List接口 底层采用了链表实现,特点是查找慢,增删快

    -------------------|Vector 实现原理与Arraylist相同,但是事线程安全的,操作效率低,jdk1.0的时候就出现了,现在已经不推荐使用.

    ----------------|Set 接口 实现了Set接口的对象具备无序不可重复的特点

    -------------------|HashSet 底层使用了了哈希表支持

    HashSet存储原理:

      1、当往HashSet里存放元素的时候,会根据对象的hashCode方法获取对象的哈希码值然后做一系列运算后得出对象的存储位置

      2、如何元素要存储的位置是空的那么直接存储,否则的话进入下一步

      3、当元素要存储的位置不为空时,会调用该元素的equal方法与该位置上已有的元素进行比较,如果返回值是false说明两者不是同一个对象,可以存储,否则的话就要舍弃改元素,不能存放进HashSet.

    -------------------|TreeSet 底层使用红黑(二叉树)实现,特点是会对存储的元素进行排序.

    TreeSet注意事项

      1、往TreeSet存放对象时,如果对象本身具备自然顺序(如1、2、3... ...),那么会根据自然顺序进行排序

      2、存放的对象如果不具备自然顺序时,那么要存放的元素要实现Comparable接口,然后在compareTo上定义比较规则

      3、如果存放的对象没有实现Comparable接口时,那么在创建TreeSet对象时必须要传入一个比较器,用来定义比较规则

      比较器的定义格式、

        class 类型implemets Comparator{

          comparato(){

            return

          }

        }

      如果返回值是0的话说明两者对象相同,TreeSet将不予添加当前对象

  • 相关阅读:
    Java 环境搭建的一些问题
    DefaultHttpClient is deprecated 【Api 弃用]】
    Java良葛格 学习笔记《二》
    Java良葛格 学习笔记
    JAVA EE 运行环境配置(包含JAVA SE)
    AIR使用文件对象操作文件和目录
    As3.0 类的【枚举】
    Java&&As3.0 中的final 关键字
    字符串参数组合
    PHP 超级全局变量
  • 原文地址:https://www.cnblogs.com/it-life-nathan/p/7260981.html
Copyright © 2011-2022 走看看