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、HashSet和HashTable详解

HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实...
  • bear_wr
  • bear_wr
  • 2016年08月22日 15:11
  • 2098

HashTable, HashSet, HashMap的区别

hash是一种很常见也很重要的数据结构,是用hash函数根据键值(key)计算出存储地址,以便直接访问。由完美hash函数(即键值和地址是一一对应的)计算出的地址,在访问时,时间复杂度为O(1)。 j...
  • xxgujh
  • xxgujh
  • 2015年08月03日 22:23
  • 5453

java中的HashTable,HashMap和HashSet

上篇博客中我们详细的分析了java集合《java中Map,List与Set的区别》。 同时我们也对HashSet和HashMap的核心方法hashcode进行了详解,见《探索equals()和hash...
  • SpeedMe
  • SpeedMe
  • 2014年03月30日 21:16
  • 19301

HashMap,HashTable,HashSet之间的区别

HashMap,HashTable,HashSet之间的区别 1.实现接口的不同 3.执行效率 2.线程安全性,同步 4.key,value能否存放NULL 5.添加元素的方法不同...
  • baidu_21578557
  • baidu_21578557
  • 2016年04月18日 19:35
  • 441

Java中Map与HashMap,Hashtable,HashSet的区别

HashMap和Hashtable两个类都实现了Map接口,二者保存K-V对(key-value对);HashSet则实现了Set接口,性质类似于集合。HashTable和HashMap区别一、继承的...
  • testcs_dn
  • testcs_dn
  • 2014年12月14日 15:45
  • 10978

STL中hashtable,hashset,hashmap,set,map,multiset和multimap的区别

hashtable 可以提供任何有名项的存取操作和删除操作,由于操作对象是有名项,故可被视为一种字典结构。用意是在常数时间内提供基本操作。常见的,我们可以把int存到相应值的数组里面,就可以通过O(1...
  • wangyuquanliuli
  • wangyuquanliuli
  • 2013年10月30日 21:34
  • 6766

Arraylist和linkedlist的区别,hashmap和hashtable的区别,hashmap和hashset的相同与不同,hashcode的用法

Arraylist和linkedlist的区别 相当于数组和链表的区别:当arraylist中添加对象时对应的数组长度就要改变,因此便于查找(直接get(i)就ok)而不利于增删改;相反linkedl...
  • sinat_26935081
  • sinat_26935081
  • 2015年10月28日 20:54
  • 663

909422229__Hashtable、HashMap、hashset区别分析与一些面试小题

HashMap底层实现: 基于哈希表的Map接口的非同步实现,hashmap与hashTable很想,唯一的区别是hashtable中方法是线程安全的,也就是同步的,并 允许null值与null键,但...
  • a909422229
  • a909422229
  • 2017年03月26日 23:02
  • 202

Map与HashMap,Hashtable,HashSet的区别

前言:最近在整理他人关于面试中,碰到的问题,这些问题基本上是不注意不深究的话,是完全不知道,因此参考他人的博客,以及自己亲自的测试,总结了这一片博客内容。HashTable和HashMap区别区别一:...
  • wulunbi
  • wulunbi
  • 2016年04月09日 14:32
  • 9712

HashMap,HashSet,HashTable,LinkedHashMap,LinkedHashSet,ArrayList,LinkedList,ConcurrentHashMap,Vector

HashMap相关问题 1、你用过HashMap吗?什么是HashMap?你为什么用到它? 用过,HashMap是基于哈希表的Map接口的非同步实现,它允许null键和null值,且Ha...
  • lijizhi19950123
  • lijizhi19950123
  • 2017年10月11日 22:25
  • 491
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HashMap 和HashTable 和HashSet
举报原因:
原因补充:

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