![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaSE基础
zhCoding
这个作者很懒,什么都没留下…
展开
-
LeetCode打卡 16. 最接近的三数之和(双指针详解)
16. 最接近的三数之和难度:中等给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。提示:3 <= nums.length <= 10^3-10^3 <= nums[i] <=原创 2020-08-26 00:56:45 · 158 阅读 · 0 评论 -
LeetCode打卡 (234. 判断回文链表的快慢指针超详细解析)
234. 回文链表难度 简单请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?打开网页 拿到题目 难度简单 我超勇的!二话不说就想到了方法一:遍历整条链表,逐个将值添加到ArrayList数组用双指针前后比较,不等则输出false。时间复杂度O(n)空间复杂度O(n)/** * Definition原创 2020-08-16 22:46:38 · 256 阅读 · 0 评论 -
Java8新特性之构造器引用
一、构造器引用和方法引用类似,函数式接口的抽象方法的形参列表和构造器的形参列表一致。二、数组引用大家可以把数组看做是一个特殊的类,则写法和构造器引用一致下面来看实例:/* * @author zhCoding * @create 2020-08-10 15:32 */public class ConstructorReference { //构造器引用 //Supplier中的T get() //Employee中的'new' Employee() @Tes原创 2020-08-10 16:34:50 · 147 阅读 · 0 评论 -
Java8新特性之 方法引用----对Lambda表达式的进一步“简化”
方法引用的使用–Java8新特性1.使用情境:当要传递给Lambda体的操作,已经有实现的方法了,可以使用方法的引用!2.方法引用本质本质上就是Lambda表达式,而Lambda表达式作为函数式接口的实例。所以方法引用,也是函数式接口的实例。3.使用格式:类(或对象即方法调用者) :: 方法名4.具体分为如下三种情况:对象 :: 非静态方法类 :: 静态方法类 :: 非静态方法 (注意:方法引用中可以这样)5.方法引用使用的要求:要求接口中的抽象方法的形参列表和返回值类型和原创 2020-08-10 15:28:14 · 373 阅读 · 0 评论 -
Lambda表达式的使用-Java8新特性
Lambda表达式的使用1.举例:(o1,o2) -> Interger(o1,o2); 中间的"->"是lambda操作符2.格式:-> : lambda操作符 或 箭头操作符->左边 : 形参列表 (其实就是接口中的抽象方法的形参列表)->右边 : lambda体 (其实就是重写的抽象方法的方法体)3.Lambda表达式的使用:(分6中情况介绍) 总结: ->左边:lambda形参列表的参数类型可以省略(可以通过泛型推断);如果lambda形参原创 2020-08-10 13:32:14 · 186 阅读 · 0 评论 -
Java8 HashMap之tableSizeFor
Java8对许多内置的容器进行了优化与拓展,其中对HashMap的改变尤其大。之后将进行总结。最近在看HashMap的源码时,发现了里面好多很不错的算法,相比Java7从性能上提高了许多。其中tableSizeFor就是一个例子。tableSizeFor的功能(不考虑大于最大容量的情况)是返回大于输入参数且最近的2的整数次幂的数。比如10,则返回16。该算法源码如下:static final int tableSizeFor(int cap) { int n = cap - 1; n |转载 2020-08-09 22:39:21 · 87 阅读 · 0 评论 -
HashMap里面key为null存放到哪?
我们知道HashMap集合是允许存放null值的hashMap是根据key的hashCode来寻找存放位置的,那当key为null时, 怎么存储呢?在put方法里头,其实第一行就处理了key=null的情况。// HashMap的put方法 public V put(K key, V value) { if (table == EMPTY_TABLE) { inflateTable(threshold); } if (key =转载 2020-08-06 12:47:49 · 3685 阅读 · 0 评论 -
Map的实现类HashMap、LinkedHashMap、TreeMap、Hashtalble的底层源码理解以及Map中的常用方法介绍
一、Map的实现类的结构Map:双列数据,存储key-value对的数据 —类似于函数的映射关系HashMap:作为Map的主要实现类;线程不安全,效率高;可以存储null的key和value------>LinkedHashMap HashMap的子类;保证在遍历map元素时,可以按照添加的顺序实现遍历。原因:在原有的HashMap的的层结构基础上,添加了一对指针,指向前一个和后一个元素。对于频繁的遍历操作,此类执行效率高于HashMap;TreeMap:保证按照添加的 ‘key-原创 2020-08-06 01:11:37 · 189 阅读 · 0 评论