HashMap 和HashTable 和HashSet

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对象,每个数组元素都是引用对象

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangyoukey/article/details/52367351
个人分类: Java
想对作者说点什么? 我来说一句

HashMapHashTableHashSet的区别

2008年04月23日 4KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭