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

    HashMapHashtable的区别类似于ArrayListVector的区别。

    HashtableVector都是JDK 1.0就有一个一个古老的集合,因此Hashtable是一个继承自Dictionary的古老集合。

    从JDK 1.2引入集合框架的Map接口之后,JavaHashtable也实现了Map接口,因此Hashtable也新增实现了一些Map接口中定义的方法。实际上HashtableHashMap底层的实现很相似,它们都是基于Hash表的实现。

    HashMapHashtable的区别主要有如下两点:

    AHashMap允许使用null作为keyvalue,而Hashtable不允许。

    BHashMap是线程不安全的,因此性能较好;但Hashtable是线程安全的,因此性能较差。

    实际上,实际在多线程环境下,Java提供了Collections工具类把HashMap包装成线程安全的类,因此依然应该使用HashMap,如下代码所示:

    Map map = Collections. synchronizedMap(new HashMap());

    简单的说,编程时应该尽量避免使用Hashtable,除非在一个古老的API中强制要求Hashtable

    Java Program!
  • 相关阅读:
    mongodb的安装
    express初体验
    vscode自定义快捷键
    项目开发前准备——清除默认样式
    手动开启和关闭mysql
    一步添加博客园看板娘
    js实现动态球球背景
    kendo grid 使用小结
    flask 与celery
    scrapy 调用js
  • 原文地址:https://www.cnblogs.com/programb/p/14068499.html
Copyright © 2011-2022 走看看