------Java8
写一封信
这个作者很懒,什么都没留下…
展开
-
【Java8】函数式接口(@FunctionalInterface)
函数式接口(1)一个有且仅有一个抽象方法,但是可以有多个非抽象方法 (2)可以被隐式转换为lambda表达式 (3)可用现有的函数友好地支持 lambdaJava8内置四大核心函数式接口 函数式接口 方法 参数类型 返回类型 用途 Consumer 消费型接口 void accept(T t) T void 对类型为T的对象应用操作...原创 2018-12-30 07:57:31 · 261 阅读 · 0 评论 -
【Java8】为什么使用Lambda表达式
实例//原来的匿名内部函数类@Testpublic void test1(){ Comparator<Integer> com =new Comparator<Integer>(){ @Override public int compare(Intege原创 2018-09-20 08:40:28 · 434 阅读 · 11 评论 -
【Java8】Lambda基础语法
Lambda 表达式语法概述 Lambda 表达式的基础语法:Java8中引入了一个新的操作符 ” - > ” ,该操作符称为箭头操作符或 Lambda 操作符。 箭头操作符将 Lambda 表达式拆分成两部分: (1)左侧: Lambda 表达式的参数列表 (2)右侧: Lambda 表达式所需执 行的功能,即lambda体语法格式一、无参数无返回值...原创 2018-09-29 10:29:03 · 415 阅读 · 9 评论 -
【Java8】方法引用 & 构造器引用
一、方法引用若Lambda体中的内容有方法已经实现了,我们可以使用“方法引用”(可以理解为方法引用是Lambda表达式的另外一种表现形式)语法格式主要有以下三种:对象::实例方法名@Testpublic void test1(){ PrintStream ps1=System.out; Consumer<String> con=(x)->ps1.println...原创 2019-01-04 17:18:07 · 227 阅读 · 0 评论 -
【Java8】Stream-终止操作
3.终止操作(终端操作)(一)查找与匹配allMatch-检查是否匹配所有元素anyMatch-检查是否至少匹配一个元素noneMatch-检查是否没有匹配所有元素findFirst-返回第一个元素findAny-返回当前流中的任意元素count-返回流中元素的总个数max-返回流中最大值 @Test public void test(){ boolean b1=emp...原创 2019-01-26 21:04:21 · 943 阅读 · 1 评论 -
【Java8】Stream-中间操作
2.中间操作(一)筛选与切片(1)filter-过滤,接收Lambda,从流中排除某些元素//内部迭代:迭代操作有Stream API完成@Testpublic void test1(){ //多个中间操作可以连接起来形成一个流水线,除非流水线上触发终止操作,否则中间操作不会执行任何的处理 //而在终止操作时一次性全部处理,称为“惰性求值” //中间操作:不会执行任何操作 S...原创 2019-01-18 19:35:44 · 1561 阅读 · 1 评论 -
【Java8】Stream
一、是什么Java8中有两大最为重要的改变。一是Lambda表达式,二是StreamAPI(java.util.stream.*)。Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用StreamAPI对集合数据进行操作,就类似于使用sQL执行的数据库查询。也可以使用StreamAPI来并行执行操作。简而言之,...原创 2019-01-10 15:26:50 · 194 阅读 · 3 评论 -
【Java8】并行流
一、并行流并行流 : 把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流。Java 8 中将并行进行了优化,我们可以很容易的对数据进行并行操作。Stream API 可以声明性地通过 parallel() 与 sequential() 在并行流与顺序流之间进行切换。二、Fork/Join框架Fork/Join 框架 : 在必要的情况下,将一个大任务,进行拆分(fork)成若干个...原创 2019-02-10 19:32:24 · 306 阅读 · 0 评论