
Java面试经
文章平均质量分 63
全方面,高频面试问题,最透彻的解析,形象好懂。
二手Java程序员
生活很苦但我很甜
展开
-
equals()和 == 区别。为什么重写equals 要重写hashcode详细解答
当equals返回为true,我们在逻辑上可以认为是同一个对象,但是查看哈希码,发现哈希码不同,和equals方法返回结果违背。Object中定义的hashcode方法生成的哈希码能保证同一个类的对象的哈希码一定是不同的。重写hashcode之后,我们可以自定义哈希码的生成规则,可以通过对象的属性值计算出哈希码。Object中的hashcode 方法生成的哈希码和对象本身的属性无关。== 是运算符,equals是Object类定义的一个方法 ,扩展(哈希码:一个类的对象,区别于当前类其他任何一个类的编码)原创 2023-03-18 09:13:05 · 456 阅读 · 0 评论 -
HashMap的底层原理
一:查询 (1):数组是按下标查询的,查询比较快。 (2):链表是从第一个的元素查找,直到查到需要的元素。 (3):平衡二叉树的遍历二:插入 (1):数组的长度是先固定好的,需要移动其他元素。 (2):链表是可以动态的增减 (3):左旋右旋(保存平衡)原创 2023-03-15 08:22:17 · 85 阅读 · 0 评论