与HashMap的比较:

  • Hashtable
  • 底层是一个哈希表,是一个线程安全的集合,是单线程的集合,速度慢
  • 不可以存储空值空键
  • HashMap
  • 底层也是一个哈希表,是一个线程不安全的集合,是多线程的集合,速度快
  • 可以存储空值空键

Hashtable和Vector集合一样,在jdk1.2.版本之后,被更先进的集合取代了——HashMap和ArrayList。
但是,Hashtable的子类Properties依然使用,Properties集合是唯一和IO流结合的集合。

举例:

import java.util.HashMap;
import java.util.Hashtable;public class demo6HashTable {public static void main(String[] args){HashMap<String,String> map = new HashMap<>();map.put(null,"aaa");map.put("bbb",null);map.put(null,null);System.out.println(map);}
}

会输出
{null=null, bbb=null}
*null与null也算主键重复,只会出现一次

再看Hashtable

     Hashtable<String,String> table = new Hashtable<>();map.put(null,"aaa");Hashtable<String,String> table1 = new Hashtable<>();map.put("bbb","aaa");Hashtable<String,String> table2 = new Hashtable<>();map.put(null,null);

会报错:空指针异常

Hashtable使用相关推荐

  1. 【STL源码剖析读书笔记】【第5章】关联式容器之hashtable

    1.hashtable在插入.删除.搜寻操作上具有"常数平均时间"的表现,不依赖输入元素的随机性. 2.hashtable通过hashfunction将元素映射到不同的位置,但当不 ...

  2. HashMap 和 Hashtable 的 6 个区别,最后一个没几个人知道!

    HashMap 和 Hashtable 是 Java 开发程序员必须要掌握的,也是在各种 Java 面试场合中必须会问到的. 但你对这两者的区别了解有多少呢? 现在,栈长我给大家总结一下,或许有你不明 ...

  3. java 中的 Enumeration 在Vector,Hashtable和web中的应用

    public interface Enumeration<E> 实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个.连续调用 nextElement方法将返回一系列的 ...

  4. 在C#中应用哈希表(Hashtable)

    一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其 ...

  5. 调试JDK源码-Hashtable实现原理以及线程安全的原因

    调试JDK源码-一步一步看HashMap怎么Hash和扩容 调试JDK源码-ConcurrentHashMap实现原理 调试JDK源码-HashSet实现原理 调试JDK源码-调试JDK源码-Hash ...

  6. C语言的HashTable简单实现

    原文地址:http://blog.csdn.net/zmxiangde_88/article/details/8025541 HashTable是在实际应用中很重要的一个结构,下面讨论一个简单的实现, ...

  7. HashTable原理与实现

    memcached中hashtable部分的源码,hash部分的源码主要分布在assoc.h/c.hash.h/c中,总得来说代码比较简单,这里就稍微介绍一下. hashtable通常包括哈希函数和解 ...

  8. JAVA - HashMap和HashTable

    1. HashMap 1)  hashmap的数据结构 Hashmap本质就是一个数组,只是当key值重复时,使用链表的方式来存储重复的key值(拉链法),注意:链表中存放的仍然是key值.如下图示: ...

  9. 一个古老的问题HashMap与Hashtable区别

    HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable.可能你觉得HashTable很好用,为什么不用呢? ...

  10. 面试之Hashtable和ConcurrentHashMap

    那么要如何保证HashMap的线程安全呢? 方法有很多,比如使用Hashtable或者Collections.synchronizedMap,但是这两位选手都有一个共同的问题:性能.因为不管是读还是写 ...

最新文章

  1. 阿里云云盾-风险识别-增强版模式发布
  2. python读文件路径-在Python中按路径读取数据文件的几种方式
  3. Spring event 使用完全指南
  4. C++学习笔记(八)——内联函数
  5. 【2017-02-20】C#基础 - 运算符//表格,示例,代码巩固练习
  6. java orika_常见Bean映射工具分析评测及Orika介绍
  7. python模块调用的用法_python模块怎么使用
  8. currenthashmap如何实现线程安全_Java的List如何实现线程安全?
  9. 华为手机助手上架流程_2019年各大安卓应用商店上架经验,含流程,物料,方法,建议收藏...
  10. Oracle 11g R1(11.1) Joins表连接
  11. html基础之select ,datalist与details的异同
  12. 【转】一个小妙招能让你在服装上省下好多rmb
  13. oracle日期处理完全版
  14. 海康监控设备如何修改IP地址
  15. 换硬币-零钱换成5分、2分和1分的硬币
  16. 坚果云和微云哪个好?谈谈我的使用感受
  17. 使用OFBIZ的理由和不使用OFBIZ的理由
  18. Android LiveData初识
  19. Opensuse 初学者使用指北?
  20. 算法设计与分析-习题-用生成函数求解递归方程f(n)=2f(n/2)+cn,f(1)=0

热门文章

  1. Archlinux笔记本发射热点create_ap
  2. 在SQL中修改数据库名称
  3. 2023年电工杯数学建模竞赛AB题思路代码论文资料汇总贴
  4. WPF 布局 - Grid, StackPanel, DockPanel, WrapPanel
  5. 获取本地与服务器地址
  6. 绿色债券数据集2016.01-2021.11年
  7. 硅芯思见:SystemVerilog中的packedarray和unpacked array
  8. 常用CASE工具介绍 (csnd.net)
  9. 今天开通了CNSD博客
  10. Mac安装软件时提示“文件已损坏,您应该将它移到废纸篓”解决办法(亲测有效)