java8
文章平均质量分 93
深存少年梦
这个作者很懒,什么都没留下…
展开
-
为什么要关心Java8
本章主要简单讲解为何我们需要关注Java 8在Java 8中,第一个编程概念是流处理(stream),流时一系列数据项,一次只生成一项。程序可以从输入流中一个一个读取数据项,然后以同样的方式将数据项写入输出流。一个程序的输出流可能是另外一个程序的输入流。Java 8在java.util.stream中添加了一个Stream API;用行为参数化把代码传递给方法,这是在Java 8中提出的一...原创 2018-02-28 12:29:18 · 259 阅读 · 0 评论 -
Java8——初探函数式接口
这里我们来以筛选苹果举例,如何逐步优化代码,实现函数式编程。 首先,我们的第一个方案可能是下面这样的:public static List<Apple> filterGreenApples(List<Apple> inventory) { List<Apple> result = new ArrayList<Apple>(); fo...原创 2018-02-28 14:37:59 · 149 阅读 · 0 评论 -
java8——Lamdba介绍
Lamdba介绍Lambda表达式可以理解为简洁地表示可传递的匿名函数的一种方式:它没有名称,但是它有参数列表、函数主体、返回类型,可能还有一个可以抛出的异常列表。匿名——我们说匿名,是因为它不像普通的方法那样有一个明确的名称:写得少儿想得多!函数——我们说它是函数,是因为Lamdba函数不像方法那样属于某个特定的类。但和方法一样,Lamdba有参数列表、函数主体、返回类型,还可能有可...原创 2018-02-28 15:56:33 · 360 阅读 · 0 评论 -
java8——函数式接口
函数式接口什么是函数式接口? 函数式接口,@FunctionalInterface,简称FI,简单的说,FI就是指仅含有一个抽象方法的接口,以@Functionalnterface标注,这里的抽象方法指的是该接口自己特有的抽象方法,而不包含它从其上级继承过来的抽象方法,例如:@FunctionalInterfacepublic interface ApplePredicate ...原创 2018-03-01 11:05:26 · 683 阅读 · 1 评论 -
java8——流
背景自从lambda表达式成为Java语言的一部分之后,Java集合(Collections)API就面临着大幅变化。而 JSR 355(规定了 Java lambda 表达式的标准)的正式启用更是使得 Java 集合 API 变的过时不堪。尽管我们可以从头实现一个新的集合框架(比如“Collection II”),但取代现有的集合框架是一项非常艰难的工作,因为集合接口渗透了 Java 生态系统的每原创 2018-03-01 23:40:22 · 371 阅读 · 0 评论 -
java8——收集器
收集器collect() 接收一个类型为 Collector 的参数,这个参数决定了如何把流中的元素聚合到其它数据结构中。Collectors 类包含了大量常用收集器的工厂方法,toList() 和 toSet() 就是其中最常见的两个,除了它们还有很多收集器,用来对数据进行对复杂的转换。原创 2018-03-06 09:55:53 · 804 阅读 · 0 评论 -
java8——并行数据处理与性能
前言在Java7之前,并行处理数据集合非常麻烦。第一,你得明确地把包含数据的数据结构分若干子部分;第二,你要给每个字部分分配一个独立的线程。第三,你需要在恰当的时候对它们进行同步来避免不希望出现的竞争条件,等待所有线程完成,最后把这些部分结果合并起来。Java7引入了一个叫做分支/合并的框架,让这些操作更稳定、更不易出错。在Java8中,你可以通过Stream接口如何让你不用太费力气就能对数据集执行原创 2018-03-06 11:09:41 · 2988 阅读 · 0 评论 -
java8——Optinal类
Optional介绍我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Optional. 如果对它不稍假探索, 只是轻描淡写的认为它可以优雅的解决 NullPointException 的问题, 于是代码就开始这么写了Optional<User> user = ……if (user.isPresent()) {return user.getOrders()...原创 2018-03-06 15:52:53 · 1142 阅读 · 0 评论