hashmap 和hashset,hashmap和hashtable和hashset
作者将处理HashMap和HashSet概念之间的差异,如下所示:
出发地:www.java265.com/javamianjing/202110/16347847421524.html 3358号公路
HashSet介绍HashSet实现Set接口
HashSet中不允许有重复值。
在我们使用HashSet之前
确保对象覆盖equals()和hashCode()方法。
然后比较对象的值是否相等。
确保集合中没有存储等效的对象。
当这两个方法未被重写时,将使用此方法的默认实现。
//添加元素
public boolean add(对象o);
HashMap介绍HashMap实现了Map接口。
映射接口映射键值对。
映射中不允许重复的关键字关键字
Map接口有两个基本实现,HashMap和TreeMap。
TreeMap保存对象的顺序,但是HashMap不能。
HashMap允许键和值为空
HashMap不同步。
但是,集合框架提供方法可以确保哈希表同步
这样,当多个线程同时访问HashMap时,只有一个线程可以改变这个映射。
添加元素的方法
公共对象put(对象键,对象值)
根据上面的介绍,我们可以得出HashSet和HashMap的区别。
模拟
哈希特
HashMap实现了Map接口
HashSet实现Set接口
HashMap存储键值对
HashSet只存储对象。
使用put()方法将元素放入地图中。
使用add()方法将元素放入集合中。
Hashcode值通过使用HashMap中的key对象来计算。
HashSet使用成员对象来计算hashcode的值。对于两个对象,hashcode可能是相同的,所以使用equals()方法判断对象的相等性,如果两个对象不同,则返回false。
HashMap速度更快,使用惟一的键来获取对象。
HashSet比HashMap慢
版权归作者所有:博主java Elf原创作品,转载授权请联系作者,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。