![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试小点
文章平均质量分 64
C'z x
这个作者很懒,什么都没留下…
展开
-
HashMap总结
1)HashMap是基于Map接口的非同步实现,线程不安全,是为了快速存取而设计的;它采用key-value键值对的形式存放元素(并封装成Node对象),允许使用null键和null值,但只允许存在一个键为null,并且存放在Node[0]的位置,不过允许存在多个value为null的情况。(2)在JDK1.7及之前的版本,HashMap的数据结构可以看成“数组+链表”,在JDK1.8及之后的版本,数据结构可以看成"数组+链表或红黑树",也就是说HashMap底层采用数组实现,数组的每个位置都存储一个。..原创 2022-07-25 22:26:33 · 1929 阅读 · 0 评论 -
为什么重写equals()方法一定重写hashcode()方法
==在引用数据类型当中进行的是地址的比较,equals()方法在Object类当中其底层也是用==比较地址,但是不同的类可能会重写equals()方法,比如String类中的equals()方法就是先比较地址是否相同,如果相同直接返回true,地址不同在比较值,如果值相等那么同样返回true(); hashCode()方法 我们首先观察一个这个方法,它本身其实是一个native方法,他使用c++实现的,我们暂时可以将其理解为它将我们的对象的地址映射为一个int类型的数据。 明.原创 2022-01-23 11:45:04 · 364 阅读 · 0 评论 -
Java中==和equals()的区别
== 可以比较基本数据类型也可以比较引用数据类型。 equals()方法只能比较引用类型。 == 在基本数据类型比较的是值是否相等。 引用数据类型比较的是地址是否相等。 equals() 基本数据类型,没有equals()方法 引用数据类型Object类当中equals()方法用==比较地址是否相等,String类重写了Object类中的equals方法,先是比较地址是否相等,如果地址不同,再比较值。 .........原创 2022-01-23 12:02:43 · 300 阅读 · 0 评论