HashMap与Hashtable的区别
来源:互联网 发布:电脑怎么优化显卡性能 编辑:程序博客网 时间:2024/06/06 11:41
从以下三点来区别:
HashMap Hashtable
1. 父类: AbstractMap Dictionary
2. 是否同步: 否(不是线程安全的) 是(是线程安全的)
3. K,V 是否为空: 否 是
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都实现了Map接口,
主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。 Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步(Collections.synchronizedMap)。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
0 0
- HashTable与HashMap的区别
- HashMap与Hashtable的区别
- Hashtable与HashMap的区别:
- HashMap 与 Hashtable 的区别?
- HashMap与HashTable的区别
- HashMap与Hashtable的区别
- HashMap与Hashtable的区别
- HashTable与HashMap的区别
- Hashtable与HashMap的区别
- HashMap与Hashtable的区别
- HashMap与HashTable的区别?
- hashtable与hashmap的区别
- HashMap与Hashtable的区别
- HashMap与Hashtable的区别
- HashMap与Hashtable的区别
- HashMap与Hashtable的区别
- hashtable与hashmap的区别
- HashMap与Hashtable的区别
- Step by step guide to set up master and slave machines
- 黑马程序员-----java 面向对象编程
- USACO 1.4 The Clocks (clocks)
- InnoDB: Error: unable to create temporary file
- 利用Python处理文件并注意异常(1)
- HashMap与Hashtable的区别
- 三网融合可借鉴欧盟视听新媒体内容规制
- VC编译错误:uafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPA
- 利用net-snmp读取windows,linux,snmp设备数据(cpu,内存,网卡)
- 题目1051:数字阶梯求和
- 数据库分页语句(mysql,oracle,sqlserver,DB2)
- BaseServlet,让一个Servlet可以同时处理多个请求
- SQLSERVER常用操作
- Installation about Windows Slave on Jenkins