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

    最近刚结束的OA子项目,我带的几个同学在做项目的时候,都采用的Hashtable 来进行数据的传递,而我平常喜欢用HashMap,可能是习惯了,以前在往里面存null的时候,没有报错,但是在Hashtable里面却报空指针异常,由于经验比较少,当时在这行代码上面纠结了半天,已在在想,存null应该不会报错呀,虽然表面这么想,但是心里已经知道自己错了,以前在刚接触Map接口的时候就知道这个问题,后来用if进行判断存,结果就不报错了,果不其然,确实Hashtable,不允许空(null)键值(key),而HashMap允许空(null)键值(key,由于非线程安全,效率上可能高于Hashtable

    HashMapHashtablecontains方法去掉了,改成containsvaluecontainsKey。因为contains方法容易让人引起误解。 Hashtable继承自Dictionary类,而HashMapJava1.2引进的Map interface的一个实现。

    最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

    HashtableHashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

  • 相关阅读:
    创建数据库指定编码格式
    java开发环境配置
    Eclipse 配置工程
    声明式事务管理 的5 种方式
    web容器启动顺序
    2.1 实践篇:使用ping来检测网速
    1.1 mysql安装
    1.2 测试人员与开发人员比例
    1.0 软件测试能力
    1.4 测试各阶段(单元、集成、系统 、Alpha、Beta、验收)
  • 原文地址:https://www.cnblogs.com/rench/p/2121111.html
Copyright © 2011-2022 走看看