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

HashSet子类依靠()方法区分重复元素。

A.toString(),equals()

B.clone(),equals()

C.hashCode(),equals()

D.getClass(),clone()

解答

正确答案是 C

HashSet的底层还是用HashMap来实现的。将Entry<K,V>的V都变成了同一个Object对象,public static final PRESENT = new Object()。

而HashMap的数据结构是数组+链表+红黑树。

调用K的hashCode方法,然后高低16位进行&运算。得到的hash值,与数组tab[](桶)的长度-1进行&运算,确定插入对象在哪一个桶上。
然后调用对象的equals方法,形成链表。当链表长度大于8时,链表转红黑树。

C 2条回复 评论
夏至末日

在卷的地方,测试要比开发还要开发,又要懂业务又要懂测试,还要懂运维,我都搞不懂现在测试到底是个什么角色了

发表于 2021-12-22 23:00:00
0 0
博客园

UI这个行当水很深啊,因为不能明显看出美术功底,混子太多了。。

发表于 2021-12-06 22:00:00
0 0