校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > java语言 > Map、set集合(后序会删除)
题目

说一下 HashSet 的实现原理?

解答

HashSet实际上是一个HashMap实例,数据存储结构都是数组+链表。

HashSet是基于HashMap实现的,HashSet中的元素都存放在HashMap的key上面,而value都是一个统一的对象PRESENT。

private static final Object PRESENT = new Object();

HashSet中add方法调用的是底层HashMap中的put方法,put方法要判断插入值是否存在,而HashSet的add方法,首先判断元素是否存在,如果存在则插入,如果不存在则不插入,这样就保证了HashSet中不存在重复值。

通过对象的hashCode和equals方法保证对象的唯一性。

C 1条回复 评论
陈书言

学的是计算机专业,虽有一些基础,可还是有难度

发表于 2023-01-12 23:00:00
0 0