java中hashset和hashmap有什么区别

2025-04-13 03:09:13
推荐回答(2个)
回答1:

set是线性结构,set中的值不能重复,hashset是set的hash实现,hashset中值不能重复是用hashmap的key来实现的。
map是键值对映射,可以空键空值。HashMap是Map接口的hash实现,key的唯一性是通过key值hash值的唯一来确定,value值是则是链表结构。
他们的共同点都是hash算法实现的唯一性,他们都不能持有基本类型,只能持有对象

回答2:

HashMap*
*HashSet*
HashMap实现了Map接口
HashSet实现了Set接口
HashMap储存键值对
HashSet仅仅存储对象
使用put()方法将元素放入map中
使用add()方法将元素放入set中
HashMap中使用键对象来计算hashcode值
HashSet使用成员对象来计算hashcode值,对于两个对象来说hashcode可能相同,所以equals()方法用来判断对象的相等性,如果两个对象不同的话,那么返回false
HashMap比较快,因为是使用唯一的键来获取对象
HashSet较HashMap来说比较慢
希望能帮到你