两个List集合求交集想必学过Java的都知道用系统自带的retainAll()方法,但是在数据量比较大时,这个方法效率并不高,利用空余时间研究了几种数据量较大时求两个集合交集的办法。本文主要研究了JDK自带方法求交集、Guava集合求交集、Java8的parallelStream并行流求交集、双指 ...
分类:
编程语言 时间:
2020-01-05 00:44:11
阅读次数:
147
从源代码深入Stream / 学习的时候,官方文档是最重要的. 及其重要的内容 我们不仅要知道stream用,要知道为什么这么用,还要知道底层是怎么去实现的. 个人注释:从此看出,虽然新的jdk版本对开发人员提供了很大的遍历,但是从底层角度来说,实现确实是非常复杂的. 对外提供很简单的接口使用. ( ...
分类:
编程语言 时间:
2020-01-05 00:40:43
阅读次数:
109
方法引用:method reference 先简单的看一下哪里用到了方法引用: 方法引用实际上是lambda表达式的一种语法糖 我们可以将方法引用看做一个「函数指针」,function pointer 方法引用共分为4类: 下面会逐步介绍四种类型,并且用代码实现:公用的Student类如下 1. 类 ...
分类:
编程语言 时间:
2020-01-04 23:56:35
阅读次数:
173
Stream 流 初识Stream流 简单认识一下Stream:Stream类中的官方介绍: 看这么一个案例,类似于js中的链式操作。就明白了大概流是什么样子的。类似于 Linux的 pipeline 流包含三部分组成: 1. 源 2. 零个或多个中间操作 3. 终止操作 流操作的分类: 1. 惰性 ...
分类:
编程语言 时间:
2020-01-04 23:53:38
阅读次数:
155
配置目标 1. 默认jdk采用java8 2. 配置阿里云镜像和私服镜像, 并且先从阿里云下载, 下载不到的再去私服下载 <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/ ...
分类:
其他好文 时间:
2020-01-04 20:48:03
阅读次数:
96
1.Java8之前,接口中只能定义常量和抽象方法。 2.在 Java 8 中,接口可以定义(方法默认为public abstract,变量默认为public static final): 常量 抽象方法 默认方法 静态方法 2.在 Java 9 中,接口可以定义: 常量 抽象方法 默认方法 静态方法 ...
分类:
编程语言 时间:
2020-01-04 12:16:11
阅读次数:
57
在上一篇《公子奇带你一步一步了解Java8中行为参数化》中,我们演示到最后将匿名实现简写为 这是一个带有箭头的函数,这种写法在Java8中即为Lambda表达式。那么我们就来好好的讲讲Lambda表达式。 一 、什么是Lambda表达式 首先我们需要知道Lambda表达式时JDK8中提出的编码风格, ...
分类:
编程语言 时间:
2020-01-03 23:25:50
阅读次数:
113
Java8 Lambda Expression 对于匿名内部类存在一个问题,如果接口只有一个方法,那么该接口的匿名内部类的实现将看起来很臃肿 如果打算将一个方法作为一个参数传入另一个方法,例如对按钮的点击事件做出响应,那么lambda将帮你实现。 匿名类通常看上去比具名的类更为精简,但是对于只有一个 ...
分类:
其他好文 时间:
2020-01-03 19:23:54
阅读次数:
104
Java8 前言: jdk8 介绍:Java 8可谓Java语言历史上变化最大的一个版本,其承诺要调整Java编程向着函数式风格迈进,这有助于编写出更为简洁、表达力更强,并且在很多情况下能够利用并行硬件的代码。本门课程将会深入介绍Java 8新特性,学员将会通过本门课程的学习深入掌握Java 8新增 ...
分类:
编程语言 时间:
2020-01-03 15:39:46
阅读次数:
95
lambda表达式 为什么要使用lambda表示式 在Java中无法将函数座位参数传递给一个方法,也无法返回一个函数的方法。 在js中,函数的参数是一个函数。返回值是另一个函数的情况是非常常见的。是一门经典的函数式语言。 Java匿名内部类。 Gradle的使用。可以完全使用maven的中央仓库。 ...
分类:
编程语言 时间:
2020-01-03 15:38:39
阅读次数:
98