java8
高自强的博客
这个作者很懒,什么都没留下…
展开
-
Java8系列(错误解决)--maven编译时"-source 1.5 中不支持 lambda 表达式"问题的解决
1 问题描述调用Java8的Stream API,进行maven编译时,报错如下:[INFO] -------------------------------------------------------[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (defaul原创 2017-07-16 18:48:46 · 3818 阅读 · 2 评论 -
Java8系列--Java Stream入门篇(什么是Stream)
1 知识框架 先上一张图来说明一下Java8中”流”的引进、意义和优势。 2 传统Java集合的不足2.1 传统Java集合 集合是Java中用途十分广泛的一个集合,正是因为它对于数据的处理的优势,几乎任何一个Java应用程序都会设计对Java集合的制造和处理。 然而,一个传统的Java集合仅仅是对Java集合内部的数据进行简单的添加、删除等操作,而且处理的数据类型有限。原创 2017-07-16 21:33:57 · 13094 阅读 · 7 评论 -
Java8系列--Java Stream入门篇(流的创建)
1 前言流的创建方法有很多,除了我们经常用的使用集合创建流,还可以通过值、数组、文件、函数等方法来创建流。 参照下图: 2 流的构建方法详解2.1 由值创建流使用静态方法Stream.of方法,通过显式值创建一个流,它可以接受任何数量的参数。 代码示例://由值创建流 public static void createStreamByValue() { Syst原创 2017-07-30 13:47:47 · 2630 阅读 · 0 评论 -
Java8系列--Java Stream入门篇(流的操作)
1 Stream接口1.1 接口情况java.util.stream接口下共有DoubleStream、LongStream、IntStream、Stream四个接口,如下图所示: 1.2 流的分类和使用其中,Stream接口定义了许多方法,大体可以分为两类:中间操作类终端操作类一般来说,流的使用可以概括为三件事:一个数据源来执行一个查询一个中间操作链,形成一条流的流水线一个终端操原创 2017-07-18 18:45:49 · 2947 阅读 · 0 评论 -
Java8系列--Java Stream进阶篇(collector、collectors、colltect的关系)
1 java.util.stream包结构图 承接上篇博文,下面讲解一下在收集器中用到的collector、collectors、collect三者之间的关系。 下图为java.util.stream包的结构图。 2 collector、collectors、collect的关系2.1 collector接口 对于Reduce操作的抽象。此接口中定义了常用的Reduce操作。原创 2017-08-07 18:26:51 · 2547 阅读 · 0 评论 -
Java8系列--Java Stream进阶篇(流的操作)
1 流的操作的特点1.1 流的操作的核心机制 流的操作区别于传统的集合的操作的一大特点是,在Java 8中,流的操作是通过将外部迭代转向内部迭代来实现的。 在Java 8 Stream API中,流的操作实际上相当于对数据进行一系列的”筛选”操作,而”筛选”的标准实际上是一个个具体的”方法”,在Java 8 Stream中,是通过将这些筛选方法作为Stream流的一系列内部迭代的方法参数来实原创 2017-07-23 21:34:01 · 2902 阅读 · 5 评论 -
Java8系列--并行流与并行流的性能测试
1 并行流1.1 声明式编程通过前面的学习我们知道,Java8Stream的接口可以实现声明式处理数据,而不必考虑细节处理。 前面我们一直在接触的是“流”的思想,而且大多是流水线式的单线程处理。 现在考虑在Java8中,是如何进行多线程操作的。1.2 并行数据处理在Java7之前。并行处理数据基本都是通过开辟多线程来解决的,具体流程如下。将数据分成部分给每个子部分分配一个子线程原创 2017-09-05 22:10:34 · 2570 阅读 · 3 评论 -
Java8系列--Java Stream进阶篇(收集器简介)
1 收集器简介1.1 个人定义 下面是个人总结的关于收集器的定义: 在Lambda表达式的基础上,调用collect()接口,使用Collector类提供的方法,将流中的元素累积成一个汇总结果。1.2 收集器讲解 通过之前的学习我们了解到,流可以用类似于数据库的操作来处理集合,因此,我们可以将流看作对数据处理的“迭代器”。流支持两种类型的操作:中间操作(filter、map)和终端操作(c原创 2017-08-07 16:12:43 · 2314 阅读 · 0 评论