- 博客(2)
- 收藏
- 关注
原创 HashMap源码分析:hash原理和扩容机制
1.HashMap的hash原理 JDK1.8之前HashMap的底层是数组加链表的结构,HashMap通过key的hashcode经过函数扰动后,通过(n-1)&hash来判断当前的元素存放位置。如果存放元素存在冲突,直接覆盖或者只用"拉链法"解决冲突。 JDK1.8之前的hash方法源码如下所示: static int hash(int h) { h ^= (h >>> 20) ^ (h >>> 12); return h ^ (h >&
2020-06-19 23:20:05 171
原创 关于equals在Java集合中的思考
1.“==”与“equals”的区别 "=="用于判断对象是否为同一个对象(基本数据类型比较值相等,引用数据类型比较对象地址是否相等) equals()的比较存在两种情况: 类没有重写equals()方法时,等价于"=="; 类重写equals()方法时,要依据重写方法内容而定,大部分情况会按照值判定,即对象储存的值相同就会返回”true"。 例子如下: public class test1 { public static void main(String[] args) { Str
2020-06-16 20:14:55 666
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人