首页 > 编程语言 >Java中的查找树和哈希表

Java中的查找树和哈希表

时间:2022-12-08 20:55:11浏览次数:43  
标签:map Java HashMap Object add 查找 哈希 public

1、TreeSet(红黑树实现)

底层使用TreeMap实现,储存结构为红黑树。

构造器:

    public TreeSet() {
        this((NavigableMap)(new TreeMap()));
    }

add操作,把数据作为key加入map中,把一个Object对象加入value中。

    private static final Object PRESENT = new Object();

    public boolean add(E var1) {
        return this.m.put(var1, PRESENT) == null;
    }

 

2、HashSet(哈希表实现)

底层使用HashMap实现,底层使用哈希表实现。

 

构造器:

private transient HashMap<E, Object> map;
public HashSet() { this.map = new HashMap(); }

add操作,也是把值作为key,Object对象作为value存入其中。

    public boolean add(E var1) {
        return this.map.put(var1, PRESENT) == null;
    }

3、HashMap(哈希表)

默认的数组长度为16,装填因子为0.75。

  jdk1.7以及之前,使用数组+链表实现。

因为冲突较多的时候,性能不高,于是:

  jdk1.8以后,若一个链表中的元素大于8,则链表会转换为红黑树。

 

标签:map,Java,HashMap,Object,add,查找,哈希,public
From: https://www.cnblogs.com/lurenjia-bky/p/16967274.html

相关文章

  • Javascript的事件
    JavaScript程序采用了异步事件驱动编程模型。在这种程序设计风格下,当文档、浏览器、元素或与之相关的对象发生某些有趣的事情时,Web浏览器就会产生事件(event)。例如,当Web......
  • 基于AD Event日志检测哈希传递攻击
    01、简介哈希传递攻击是基于NTLM认证的一种攻击方式,当我们获得某个管理员用户的密码哈希值,就可以利用密码哈希值进行横向渗透。在域环境中,只有域管理员的哈希值才能进行......
  • Java诊断工具Arthas,Centos7下部署使用
    Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。1.下载:wgethttps://alibaba.github.io/arthas/arthas-boot.j......
  • HBase 单机版安装及使用,并用Java远程连接。
    1.下载解压安装文件到新建目录/home/HBasewgethttp://mirror.bit.edu.cn/apache/hbase/stable/hbase-0.94.16.tar.gztarxvfzhbase-0.94.16.tar.gz2.启动HBase/home/HBas......
  • java基础知识-字符编码
    这块比较乱待整理。。。​​http://www.regexlab.com/zh/encoding.htm​​字符编码字符集。把这些字符集按照不用规则进行编码就形成了不同的字符编码。为什么我们在上网或......
  • java dcm文件转图片
    1.情景展示如何将dicom文件转图片2.具体分析所需jar包<!--dcm文件转图片--><!--https://mvnrepository.com/artifact/org.dcm4che/dcm4che-core--><dependency>......
  • 完全参考java8的开发文档写的文件读写
    publicstaticvoidmain(String[]args)throwsIOException{Stringpath="D:\\project\\luotuo-server\\src\\test\\java\\com\\manageSystem\\project......
  • Java8 遍历List 使用stream().parallel()并发安全
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • Java中String类型判空
    根据之前的学习,我们已经知道在Java中String类型是不可以通过==直接判等的,而应该通过equals()那么在Java中String类型要如何判空呢? 在最开始,我以为判空是这样进行的——......
  • 7、哈希表
    哈希表,也叫做散列表,它通过哈希码直接找到指定数据。就和数组中通过索引获取元素一样,很快。特点:1、添加快2、查找快3、唯一4、无序1、hashCode方法......