JDK1.8的新特新介绍
- Lambda表达式
- 函数式接口
- 方法引用
- 接口的默认方法和静态方法
- Optional
- Streams流
- 并行数组
1、函数式接口
1.1、四种函数型接口
1.1.1、函数型接口
接口Function<T, R>
其中方法R apply(T t)
,输入一个限定类型参数,输出一个限定类型参数,当然两种类型可以一致。
1.1.2、断言型接口
接口Predicate<T>
其中方法boolean test(T t)
,输入一个限定类型参数,输出一个boolean类型的返回值。
1.1.3、消费型接口
接口Consumer<T>
其中方法void accept(T t)
,输入一个限定类型参数,无输出值。
1.1.4、供给型接口
接口Supplier<T>
其中方法T get()
,没有输入参数,输出一个限定类型参数。
1.2、特性说明
只要是函数式接口都可以使用lambda表达式,lambda表达式允许把函数作为一个方法的参数。如:(arg) -> {// 业务代码}
。
2、Stream流
接口Stream<T>
,让JAVA实现了链式编程的重要核心。
方法 | 说明 |
---|---|
filter | 元素过滤,对Stream对象按照指定的Predicate进行过滤,返回的Strema对象中仅包含满足条件的元素 |
map [mapToInt] [mapToLong] [mapToDouble] | 元素一对一转换,使用传入的Function对象对Stream中所有元素进行映射处理,返回的Stream对象中的元素为原元素处理后的结果 |
flatMap (flatMapToInt) (flatMapToLong) (flatMapToDouble) | 元素一对多转换,对Stream对象中的所有元素进行操作,每个元素会有一个或多个结果,然后将所有的元素组合成一个统一的Stream并返回 |
distinct | 元素去重,返回去重后的Stream对象 |
sorted [sorted(Comparator<? super T> comparator)] | 元素排序,返回排序后的Stream对象 |
limit | 元素截取,返回有限个元素组成新的Stream对象 |
skip | 元素跳过,抛弃前指定个元素后,使用剩下的元素组成新的Stream对象返回 |
peek | 生成一个包含原Stream的所有元素的新Stream,同时会提供一个消费函数即引用的方法,当Stream每个元素被消费的时候都会先执行新Stream给定的方法 |
本文来自博客园,作者:是老胡啊,转载请注明原文链接:https://www.cnblogs.com/solar-9527/p/15906389.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了