JDK 8中重要的函数式接口(必知必会)
JDK 8 提供的重要函数式接口:
Consumer (消费者)
- 功能:接收一个对象,返回void。
- 定义:void accept(T t)
- 默认方法:Consumer andThen(Consumer after)
BiConsumer (双参消费者)
- 功能:接收两个对象,返回void。
- 定义:void accept(T t, U u)
- 默认方法:BiConsumer andThen(BiConsumer after)
Supplier (提供者)
- 功能:不接收参数,返回一个对象。
- 定义:T get()
- 默认方法:无
Function<T, R> (单参函数)
- 功能:接收一个参数,返回一个参数。可理解为初阶函数 f(x)
- 定义:R apply(T t)
- 默认方法:
- 组合 Function<V, R> compose(Function before)
- 颠倒组合 Function<V, R> compose(Function after)
- 返回自身 Function<T, T> identity()
UnaryOperator<T> extends Function<T, T> (同类型单参函数)
- 功能:接收一个参数,返回一个同类型参数。
- 定义:T apply(T t)
- 默认方法:
- 返回自身 UnaryOperator<T> identity()
BiFunction<T, U, R> (双参函数)
- 功能:接收两个参数,返回一个参数。可理解为初阶函数 f(x,y)
- 定义:R apply(T t, U u)
- 默认方法:BiFunction<T, U, V> andThen(Function<? super R, ? extends V> after)
BinaryOperator<T> extends BiFunction<T,T,T> (同类型双参操作)
- 功能:接收两个同类型参数,返回一个同类型参数。
- 定义:T apply(T t1, T t2)
- 默认方法:
- BinaryOperator<T> minBy(Comparator<? super T> comparator)
- BinaryOperator<T> maxBy(Comparator<? super T> comparator)
Predicate<T> (断言)
- 功能:接收一个参数,返回一个布尔值。
- 定义:boolean test(T t)
- 默认方法:
- Predicate<T> and(Predicate<? super T> other)
- Predicate<T> or(Predicate<? super T> other)
- Predicate<T> negate()
- Predicate<T> isEqual(Object targetRef)
JDK 8中重要的函数式接口(必知必会)的更多相关文章
- .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上下文环境检查(实战)
Microsoft.NET 解决方案,项目开发必知必会. 从这篇文章开始我将分享一系列我认为在实际工作中很有必要的一些.NET项目开发的核心技术点,所以我称为必知必会.尽管这一系列是使用.NET/C# ...
- 第4节:Java基础 - 必知必会(中)
第4节:Java基础 - 必知必会(中) 本小节是Java基础篇章的第二小节,主要讲述抽象类与接口的区别,注解以及反射等知识点. 一.抽象类和接口有什么区别 抽象类和接口的主要区别可以总结如下: 抽象 ...
- 第3节:Java基础 - 必知必会(上)
第3节:Java基础 - 必知必会(上) 本篇是基础篇的第一小节,我们从最基础的java知识点开始学习.本节涉及的知识点包括面向对象的三大特征:封装,继承和多态,并且对常见且容易混淆的重要概念覆盖和重 ...
- 必知必会之Java注解
必知必会之Java注解 目录 不定期更新中-- 元注解 @Documented @Indexed @Retention @Target 常用注解 @Deprecated @FunctionalInte ...
- Java面试必知必会:基础
面试考察的知识点多而杂,要完全掌握需要花费大量的时间和精力.但是面试中经常被问到的知识点却没有多少,你完全可以用 20% 的时间去掌握 80% 常问的知识点. 一.基础 包括: 杂七杂八 面向对象 数 ...
- Visual Studio 使用及调试必知必会
原文:Visual Studio 使用及调试必知必会 一:C# CODING 技巧 1:TODO 然后 CTRL + W + T,打开任务列表,选中 Comments,就会显示所有待做的任务 2: ...
- Android必知必会-使用okhttp的PUT方式上传文件
注:如果移动端排版有问题,请看 简书版 (<-点击左边),希望CSDN能更好的支持移动端. 背景 公司的文件上传接口使用PUT协议,之前一直用的都是老项目中的上传类,现在项目中使用了okhttp ...
- 关于TCP/IP,必知必会的十个经典问题[转]
关于TCP/IP,必知必会的十个问题 原创 2018-01-25 Ruheng 技术特工队 本文整理了一些TCP/IP协议簇中需要必知必会的十大问题,既是面试高频问题,又是程序员必备基础素养. 一 ...
- 迈向高阶:优秀Android程序员必知必会的网络基础
1.前言 网络通信一直是Android项目里比较重要的一个模块,Android开源项目上出现过很多优秀的网络框架,从一开始只是一些对HttpClient和HttpUrlConnection简易封装使用 ...
随机推荐
- 使用Keepalived实现Nginx的双机主备高可用
1.概述 前面我们聊过使用 Nginx 为 后端Tomcat 做负载均衡.高可用,但是这时Nginx又成了单点,如果Nginx不幸挂掉,整个网站便无法访问. 此时我们就会用到另一个软件 -- Keep ...
- 基于Bootstrap v4.1.1 & Bootstrap-table-1.14.1实现数据瀑布流
基于Bootstrap-table-1.14.1实现数据瀑布流 HTML代码 <div id="AvgWaitAndAvgTimeServiceTimeData_hall"& ...
- Qt 6.0精简WebEngine SerialPort Multimedia等成为半残GUI框架一览
由于 Qt 集成了大量成熟模块,使之成为 C++ 领域中最好用的开源技术跨平台 GUI 开发框架.基于 Qt 能开发 Windows MacOS 传统桌面或无 GUI 应用程序.Unix/Linux ...
- Linux常用命令 - tail命令详解
21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1672457.html 实时刷 ...
- fwm环境APP菜品数据加载失败的优化操作
1)在项目的.env文件中添加如下一行: RESPONSE_CACHE_ENABLED=true 2)拷贝 laravel-worker.conf.example,将laravel字段替换为域名,并执 ...
- python模块--__future__(向上兼容模块)
py2.7 unicode_literals 将字符串默认视为unicode, 即u'xxx'和'xxx'将是一样的, 而再想表示字节需用b'xxx'表示 division / 将表示正常除法操作 ...
- Android学习记录(一)——安装Android Studio
"工欲善其事必先利其器"学习安卓开发的第一步,安装Android Studio. 一.什么是Android Studio? Android Studio 是谷歌推出的一个Andro ...
- 【Python学习】1.数据类型
一.整数 可以使用十进制和十六进制来表示整数.比如:-1000和0x1e3f2d 二.浮点数 直接表示浮点数,比如:2.443或者1.2e5 1.2e-10等 整数和浮点数在计算机内部存储的方式是不同 ...
- 一起学习PHP中GD库的使用(三)
上篇文章我们已经学习了一个 GD 库的应用,那就是非常常用的制作验证码的功能.不过在现实的业务开发中,这种简单的验证码已经使用得不多了,大家会制作出更加复杂的验证码来使用.毕竟现在的各种外挂软件已经能 ...
- 【PHP数据结构】树和二叉树
树的概念其实非常地广泛,也非常地常见,大家见到这个词千万不要惊慌,因为真的每天你都能见到树结构在我们生活中的应用.比如说公司的组织结构: 另外像我们家里的族谱,或者说是我们的家庭结构,也是一个典型的树 ...