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

  • 相关阅读:
    基于redis实现滑动窗口式的短信发送接口限流
    Linux 宝塔下的PHP如何与本地的nginx关联
    Linux 下php安装gd库
    Linux Mysql8重置密码
    PHP 无限分级类
    redis 缓存穿透,缓存雪崩,缓存击穿
    yii2 事务添加
    ConcurrentHashMap
    Volatile
    this引用的逸出
  • 原文地址:https://www.cnblogs.com/hyfl/p/10904159.html
Copyright © 2011-2022 走看看