HashMap 和HashTable 和HashSet

原创 2016年08月30日 10:58:23

HashSet 底层实现使用HashMap,而HashMap底层实现使用了TreeMap。

HashSet关注的值为HashMap的值,而HashMap关注的值为key-value对

HashSet根据Hash算法决定元素的储存位置,而HashMap根据Hash算法决定key-value值得存储位置


Hashtable是同步的,而HashMap在缺省的情况下是非同步的,在多线程的情况下HashMap需要做同步处理

Hashtable的key和value值不能为null,而HashMap可以为null,当HashMap的key值为null时是唯一的,判断是否存在key值应当 使用containsKey()

Hashtable和HashMap实现方式的数组和扩容方式不同 Hashtable 中hash数组默认11,扩容为old*2+1 ,HashMap中hash数组默认为16,扩容为2的指数

Hashtable能使用Iterator 和 Enumeration 而HashMap只能使用Iterator

Hashtable直接使用hashCode计算,而HashMap需要重新计算hash值



集合存储并不是把Java对象放到集合中储存,而是把Object对象的引用放到集合的位置,该引用指向Object对象,每个数组元素都是引用对象

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

HashMap与HashTable和HashSet的区别

  • 2008年04月23日 10:23
  • 4KB
  • 下载

ArrayList、Vector、HashMap、HashTable、HashSet的默认初始容量、加载因子、扩容增量

这里要讨论这些常用的默认初始容量和扩容的原因是: 当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的...

集合框架(HashSet,HashMap,HashTable)

一,Map集合的基本操作 package fighting; import java.util.Collection; import java.util.HashMap; import j...

【java】Java中Map与HashMap,Hashtable,HashSet的区别

HashMap和Hashtable两个类都实现了Map接口,二者保存K-V对(key-value对);HashSet则实现了Set接口,性质类似于集合。 HashTable和Ha...

HashMap、Hashtable、HashSet的比较

HashMap和Hashtable比较: 两者最主要的区别在于Hashtable是线程安全,而HashMap则非线程安全 Hashtable的实现方法里面都添加了synchronized关...
  • mm_bit
  • mm_bit
  • 2015年09月24日 15:58
  • 354

HashMap HashTable HashSet区别剖析总结

HashMap、HashSet、HashTable之间的区别是Java程序员的一个常见面试题目,在此仅以此博客记录,并深入源代码进行分析:...

HashSet, HashTable,HashMap区别剖析

HashMap、HashSet、HashTable之间的区别是Java程序员的一个常见面试题目,在此仅以此博客记录,并深入源代码进行分析: 在分析之前,先将其区别列于下面 1:HashSe...

HashMap、HashSet和Hashtable的区别

hashmap实现原理浅析 看了下JAVA里面有HashMap、Hashtable、HashSet三种hash集合的实现源码,这里总结下,理解错误的地方还望指正 HashMap和H...

Hashtable、HashMap和HashSet区别

Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类 HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用...

Java HashMap HashTable HashSet区别

HashMap、HashSet、HashTable之间的区别是Java程序员的一个常见面试题目,在此仅以此博客记录,并深入源代码进行分析: 在分析之前,先将其区别列于下面 1:HashSet底层采用的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HashMap 和HashTable 和HashSet
举报原因:
原因补充:

(最多只允许输入30个字)