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给定的方法
posted @   是老胡啊  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示