黑马程序员技术交流社区
标题:
HashSet 和HashMap 的区别
[打印本页]
作者:
nagi
时间:
2014-9-16 10:26
标题:
HashSet 和HashMap 的区别
今天遇到了一个问题, HashSet和HashMap的区别!请求帮助?
作者:
杨列振
时间:
2014-9-16 10:41
1、HashSet底层是采用HashMap实现的。HashSet 的实现比较简单,HashSet 的绝大部分方法都是通过调用 HashMap 的方法来实现的,因此 HashSet 和 HashMap 两个集合在实现本质上是相同的。
2、HashMap的key就是放进HashSet中对象,value是Object类型的。
3、当调用HashSet的add方法时,实际上是向HashMap中增加了一行(key-value对),该行的key就是向HashSet增加的那个对象,该行的value就是一个Object类型的常量。
作者:
haixiaoxiao
时间:
2014-9-16 14:35
学习了
作者:
张晓永
时间:
2014-9-16 15:46
hashSet是从hashMap中分离出来的,hashMap通过键保证唯一和hashSet保证唯一的方法是一样的,只不过hastMap比hashSet多了一个和键相对应的值而已
作者:
李春丽
时间:
2014-9-16 15:57
我的总结如下:
HashSet 和 HashMap 的区别 》》》
首先 Hash 代表哈希表,用到哈希值。然后考虑 Set 和 Map 的区别特性就可以了。
Set : 无序,不可以重复元素。
HashSet:数据结构是哈希表。线程是非同步的。
保证元素唯一性的原理:判断 HashCode 是否相同,
如果相同,还会继续判断元素的 equals 方法,是否为 true 。
Map 集合概述:该集合存储键值对。一对一对往里存。而且要保证键的唯一性。
和 Set 合很像。其实,Set 集合底层就是使用了 Map 集合。
HashMap :底层是哈希表数据结构,允许使用 null 值和 null 键,该集合是不同步的。
作者:
备战
时间:
2014-9-16 16:02
加油,学习。
作者:
Allencheng
时间:
2014-9-16 17:55
*HashMap* *HashSet*
HashMap实现了Map接口 HashSet实现了Set接口
HashMap储存键值对 HashSet仅仅存储对象
使用put()方法将元素放入map中 使用add()方法将元素放入set中
HashMap中使用键对象来计算hashcode值 HashSet使用成员对象来计算hashcode值,对于两个对象来说hashcode可能相同,所以equals()方法用来判断对象的相等性,如果两个对象不同的话,那么返回false
HashMap比较快,因为是使用唯一的键来获取对象 HashSet较HashMap来说比较慢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2