import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;import org.junit.Test;/** Java8 内置的四大核心函数式接口* * Consumer<T> : 消费型接口*       void accept(T t);* * Supplier<T> : 供给型接口*         T get(); * * Function<T, R> : 函数型接口*      R apply(T t);* * Predicate<T> : 断言型接口*        boolean test(T t);* */
public class TestLambda3 {//Predicate<T> 断言型接口:@Testpublic void test4(){List<String> list = Arrays.asList("Hello", "atguigu", "Lambda", "www", "ok");List<String> strList = filterStr(list, (s) -> s.length() > 3);for (String str : strList) {System.out.println(str);}}//需求:将满足条件的字符串,放入集合中public List<String> filterStr(List<String> list, Predicate<String> pre){List<String> strList = new ArrayList<>();for (String str : list) {if(pre.test(str)){strList.add(str);}}return strList;}//Function<T, R> 函数型接口:@Testpublic void test3(){String newStr = strHandler("\t\t\t 我大尚硅谷威武   ", (str) -> str.trim());System.out.println(newStr);String subStr = strHandler("我大尚硅谷威武", (str) -> str.substring(2, 5));System.out.println(subStr);}//需求:用于处理字符串public String strHandler(String str, Function<String, String> fun){return fun.apply(str);}//Supplier<T> 供给型接口 :@Testpublic void test2(){List<Integer> numList = getNumList(10, () -> (int)(Math.random() * 100));for (Integer num : numList) {System.out.println(num);}}//需求:产生指定个数的整数,并放入集合中public List<Integer> getNumList(int num, Supplier<Integer> sup){List<Integer> list = new ArrayList<>();for (int i = 0; i < num; i++) {Integer n = sup.get();list.add(n);}return list;}//Consumer<T> 消费型接口 :@Testpublic void test1(){happy(10000, (m) -> System.out.println("你们刚哥喜欢大宝剑,每次消费:" + m + "元"));} public void happy(double money, Consumer<Double> con){con.accept(money);}
}

JDK8新特性03 Lambda表达式03_Java8 内置的四大核心函数式接口相关推荐

  1. java自带函数_java8中内置的四大核心函数式接口

    java8中内置的四大核心函数式接口 Consumer:消费型接口 void accept(T t) //Consumer 消费型接口 public void happy(double money, ...

  2. JDK8新特性之Lambda表达式

    转载自 JDK8新特性之Lambda表达式 什么是Lambda表达式 Java 8的一个大亮点是引入Lambda表达式,使用它设计的代码会更加简洁.当开发者在编写Lambda表达式时,也会随之被编译成 ...

  3. JDK8新特性之Lambda表达式和四大函数接口

    在Java8中,加入了Lambda(Lambda expression),在使用它以前我们先聊聊为什么要加入Lamdba,使用它对于编程上有什么好处 一.Lamdba的作用 1.在我们需要把一些功能传 ...

  4. JDK8新特性:Lambda表达式、Stream流、日期时间工具类

    重要特性: 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值. 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号. 可选的大括号:如果主体包含了一个语句,就不需要大括号. ...

  5. JDK8新特性之Lambda表达式、函数式接口

    JDK8特性之Lamdba.函数式接口 1. 什么是Lambda表达式 ❓ ⭐️1.1入门

  6. 熟悉JDK8新特性,“Lambda表达式与函数式接口”

    Hello,你好呀,我是大白(●-●) 菜单 lambda表达式 函数式接口 lambda表达式 lambda表达式可以看成匿名内部类的一个简洁写法 在语法上,Lambda表达式包含三个部分: 参数列 ...

  7. jdk8新特性:Lambda表达式简单测试

    import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import javax.swing.JButton; ...

  8. java8新特性总结——lambda表达式

    最近看尚硅谷java8新特性视屏,总结一下学习知识. Lambda表达式:是一个匿名函数,我们可以把Lambda理解为一段可以传递的代码(将代码像数据一样传递),可以写出更简洁更灵活的代码.作为一种更 ...

  9. lambda 对象去重_最火的java8新特性:Lambda 表达式

    主要内容 1. Lambda 表达式 2. 函数式接口 3. 方法引用与构造器引用 4. Stream API 5. 其他新特性 Java 8新特性简介 速度更快 代码更少(增加了新的语法 Lambd ...

  10. java8新特性之lambda表达式--超级详细版本

    java8新特性之lambda表达式 1.什么是lambda表达式?为什么用它? 2. 为什么Java需要lambda表达式? 3. lambda表达式的语法 4.函数式接口 4.1 什么是函数式接口 ...

最新文章

  1. NeurIPS 2020 | Focal Loss改进版来了!GFocal Loss:良心技术,无Cost涨点!
  2. js中,(function(){})()的用法解析
  3. 关于 java.toString() ,(String),String.valueOf的区别
  4. 充分利用Microsoft Planner的6种方法
  5. c语言实现配置文件的读写
  6. 笔记10:时时屏幕抓取小程序
  7. 图书管理系统(说明文档与相关代码)
  8. SQL Server 2014中的混合云和Hekaton功能
  9. 记录一下----关于设计模式和面向对象设计原则
  10. 后台代码调用Application Resources
  11. Atitit 大数据索引技术attilax总结 目录 1. 面临的问题 2 1.1. 找到太多数据 2 1.2. 不支持多字段搜索 2 1.3. 不支持模糊搜索 2 1.4. 聚合搜索 2 1.5
  12. eclipse neon php插件,Eclipse Neon安装Tomcat插件
  13. 51nod 1022 石子归并 V2(四边形不等式)
  14. 中标麒麟linux系统安装打印机_安装国产Linux中标麒麟操作系统教程
  15. 电信 联通双线ip接入服务配置
  16. 痞子衡嵌入式:一表全搜罗常见低功耗广域物联网协议(NB-IoT/eMTC/LoRa/SigFox...)
  17. Android应用内设置多语言,可随系统语言改变而改变,也可设置app为固定语言不受系统语言影响
  18. regionserver.HRegionServerCommandLine: Region server exiting
  19. Java生成包含大写字母,小写字母以及数字的无重复随机密码
  20. 应用时间序列分析清华大学出版社电子版_数据分析模型9——预知未来的算法:时间序列分析...

热门文章

  1. A12 屏幕旋转流程
  2. 医学图像分析领域算法汇总
  3. STM32小车篇之超声波测距
  4. 【分享】Gitee如何下载单个文件
  5. [NOI2015]荷马史诗
  6. Vue地图导航调用百度地图
  7. 网站优化:测试网站速度的8款免费工具推荐
  8. MySQL Router 8 详解
  9. 数据分析可视化08 案例 2:历史数据变化趋势图设计
  10. 【产品经理】产品经理进阶之路-大纲