zoukankan      html  css  js  c++  java
  • HashMap和HashTable的区别

    HashMap和HashTable的区别

    首先HashMap和HashTable都实现了map的接口,但使用它们之前还是要弄清楚它们之间的区别

    1.      hashTable 线程安全  不允许有null的键和值  效率低  方法是Synchronized的

            HashTable 数组默认大小是11  增加方式为 old*2+1

            HashTable 使用Enumeration(枚举)方式实现

    2.      HashMap  线程不安全  允许有null的键和值  效率高一点  方法不是Synchronize要提供的同步

            HashMap  数组默认大小是16  增长方式是2的指数倍

            HashMap  使用Interator(迭代方式)调用

    3.      TreeMap 能够保存记录 按照键排序 默认升序排序

    HashTable HashMap TreeMap 使用区别

    1.      HashMap 的元素排序方式不固定 (通过hashcode对其内容进行快速查找)

            TreeMap 的元素都保持固定排序模式

    2.      HashMap 适用于 在Map中插入 删除 定位元素

            TreeMap  适用于按照自然顺序或自定义排序遍历键key

    分析: 一般情况 HashMap比TreeMap 快一些  若需要排序的Map 才使用TreeMap

  • 相关阅读:
    Centos6.6部署Redis集群
    贪心算法解+-字符串
    水题记录--排序
    项目总结之HashMap问题
    水题记录--大整数求阶乘
    水题记录--组合数
    水题记录-成绩转换
    水题记录
    简单排序
    数组
  • 原文地址:https://www.cnblogs.com/hyfl/p/10904159.html
Copyright © 2011-2022 走看看