当前位置 博文首页 > 魏小言的博客:HashMap与TreeMap对比

    魏小言的博客:HashMap与TreeMap对比

    作者:[db:作者] 时间:2021-06-24 15:13

    下面分几个方面对比HashMap和TreeMap

    排序:
    treemap有序

    数据结构:
    hashMap:hash桶+链表+红黑树
    treeMap:红黑树

    时间复杂度:
    hashMap:Array 快 常量
    treeMap:树 相对慢 lgN

    内存占用:
    HashMap因为要保存一个Array,所以会造成空间的浪费。
    TreeMap只保存要保持的节点,所以占用的空间比较小。

    性能:
    HashMap如果出现hash冲突的话,效率会变差,不过在java 8进行TreeNode转换之后,效率有很大的提升。
    TreeMap在添加和删除节点的时候会进行重排序,会对性能有所影响。

    Null值:
    HashMap可以允许一个null key和多个null value。TreeMap不允许null key,但是可以允许多个null value

    扩容机制:
    hashMap:倍增+负载因子

    其他方面暂不细数,如实现接口不同等…

    相关知识脑图下载地址:
    https://download.csdn.net/download/qq_34417408/13609058

    下一篇:没有了