![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 78
00发II
不懂的很多,错过了很多,想法很多,热爱code
展开
-
JAVA泛型
加深对泛型的理解和使用原创 2023-03-31 12:44:42 · 570 阅读 · 0 评论 -
解读HashMap中put方法的源码
由于重写了hashCode方法,致使strKey的hashCode和 strKey2的hashCode相同,但是他们equals的结果却不相同,这里使strKey和strKey2的hashCode相同的目的是为了制造散列冲突(散列冲突指的是 ”桶“ 已经被填充的现象,也就是元素对应的node数组下标的位置已经有值了),即由于hashCode相同导致不同的元素存放在node数组的同一位置,要注意hashCode即便是相同的也会出现散列冲突,这里只是为了模拟散列冲突所以设置了相同的hashCode。原创 2022-11-23 00:04:22 · 1027 阅读 · 0 评论 -
(Comparator<T> & Serializable)的作用
没错,Comparator接口是一个函数式接口,它只有一个抽象方法、一些静态方法以及一些默认方法,而接口的静态方法是不需要我们实现的,接口的默认方法我们可以选择不去实现。//判断这个匿名内部类是否实现了接口D。lambda表达式:(c1, c2) -> keyExtractor.apply(c1).compareTo(keyExtractor.apply(c2))lambda表达式相当于构造了一个匿名内部类的对象,而这个匿名内部类实现了Comparator以及Serializable接口。原创 2022-04-05 10:52:36 · 1273 阅读 · 0 评论 -
方法引用(“ :: “ 双冒号写法的常见使用方式)
双冒号 ::的作用是更简洁的替换 lambda表达式的一般形式 - > 。首先要明白什么时候能写 lambda 表达式 ?lambda作用于函数式接口,函数式接口指的是 只有一个抽象方法的接口(当然,该接口可以拥有多个默认方法和静态方法,不会影响它是函数式接口的事实),当我们需要重写函数式接口时,我们就可以使用lambda表达式的形式,来替换接口的匿名内部类的写法。现有以下几种写法(类名::类的实例方法 或类名::类的静态方法 或对象::对象的实例方法 或 类名::new...原创 2021-10-11 11:31:06 · 2902 阅读 · 1 评论