首页 > 编程语言 >JDK 1.8 TreeSet 源码分析

JDK 1.8 TreeSet 源码分析

时间:2023-01-18 16:33:44浏览次数:43  
标签:JDK 自定义 1.8 源码 public TreeSet

    /**
     * TreeSet的特点: 无序  唯一 需要比较器 自定义<>中的内容需要实现comparable的接口 推荐外部实现:多态,自定义多种规则
     * 底层实现逻辑: 二叉红黑树  treemap实现
     */
public class TreeSet<E> extends AbstractSet<E>
    implements NavigableSet<E>, Cloneable, java.io.Serializable
    
    // 存放数据的地方
        private transient NavigableMap<E,Object> m;

    // 填充map的vaule
    private static final Object PRESENT = new Object();
    
     TreeSet(NavigableMap<E,Object> m) {
        this.m = m;
    }
    public TreeSet() {
        this(new TreeMap<E,Object>());
    }
        public boolean add(E e) {
        return m.put(e, PRESENT)==null;
    }
}
   

标签:JDK,自定义,1.8,源码,public,TreeSet
From: https://www.cnblogs.com/youran-he/p/17060136.html

相关文章

  • JDK 1.8 hashset的源码分析
        /**   *hashset的特点:无序 唯一需要比较器自定义<>中的内容需要实现comparable的接口推荐外部实现:多态,自定义多种规则   *底层实现逻辑:数......
  • JDK1.8 Vector 源码相关分析
       /**   *底层实现逻辑:数组线性表查询效率高,修改效率低    *所有的操作类同ArrayList但是synchronize线程安全    *效率低    */public......
  • JDK 1.8 LinkedList 关键代码分析 重要属性和add
       /**   *有序(输入有序),不唯一    *底层实现是双向链表   *易修改,不易查询    */publicclassLinkedList<E>   extendsAbstractSequenti......
  • JDK 1.8 ArrayList源码分析 关键代码
    /***1.ArrayListAbstractList中实现了List接口冗余,作者已经承认*2.RandomAccess可以随机访问,标记接口***/publicclassArrayList<E>extendsAbstractList<E> ......
  • JDK8的新特性总结
    文章目录1.接口默认方法实现2.新增Base64加解密API2.1.Base64编码简介2.2.JDK1.8之前Base64的API2.3.JDK1.8之后Base64的API3.时间日期处理类3.1.LocalDate常用......
  • 视频直播app源码,Android TextView省略号代替多出数据
    视频直播app源码,AndroidTextView省略号代替多出数据1、xml实现 android:maxLines=”1”android:ellipsize=”end”<TextView    android:id="@+id/name"  ......
  • jdk环境变量
    a.首先要打开系统环境变量配置的页面。具体操作是:桌面上找到“此电脑”,然后右键“属性”。b.c.在新建页面输入"变量名"位JAVA_HOME,输入“变量值”为你安装的JDK路径d.......
  • 【学习日志】Cglib动态代理和JDK动态代理的对比
     CglibJDKProxy实现方式生成被代理类的子类通过被代理类实现的接口+反射速度慢(曾经快于JDKProxy,但JDKProxy几次迭代后逐渐落后)快限制被代理类不......
  • 卸载安装jdk
    卸载jdk1.删除java安装目录2.删除java_home3.删除path下关于java的目录4.Java-version安装jdk1.百度搜索jdk8,找到下载地址2.同意协议3.下载电脑对应的版本4.双击......
  • 学习笔记——Servlet底层源码分析;Servlet接口;ServletConfig接口;
    2023-01-17 一、Servlet底层源码分析1、Servlet结构图   说明:HttpServlet继承了GenericServlet类,GenericServlet实现了“ServletConfig”和“Servlet”两个接口,......