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. 探秘Java中String、StringBuilder以及StringBuffer
  2. 生成特定分布随机数的方法
  3. cdq分治 陌上花开(内无题解)
  4. 程序员不会测试引起版本事故小结
  5. Compile LLVM+CLANG 4.0.1 for RHEL6
  6. android陀螺仪方向,获得陀螺仪传感器Android的输出
  7. 浅谈essay、paper和dissertation的区别
  8. 查看Mac上已连接WiFi的密码?
  9. 研究人员发现英特尔芯片组中可能被黑客使用的“新功能”VISA
  10. 全球与中国药用玻璃容器市场深度研究分析报告
  11. 管理信息系统复试——管理信息系统基础
  12. c语言strcpy两字符串长度不同,(C语言)自己写字符串操作函数(一)——strlen/strcpy/strcat/strcmp/st...
  13. 又一个奇葩要求,看看Python是如何将“中文”转“拼音”的?
  14. 彻底解决conda环境下 tensorflow gpu版本出现的问题:Not creating XLA devices, tf_xla_enable_xla_devices not set
  15. TCP/IP详解 第二章 Internet地址结构
  16. adb shell 中查看文件大小指令 ls -al 和 du -k \ du-h
  17. OpenStack依旧大行其道,但能否等来属于自己的时代
  18. 游戏服务器 c语言,C++游戏服务器编程从入门到掌握视频教程(全)
  19. 2022年终总结【毕业总结】
  20. 2022十二月GBase8a第二次阶段考试02-SQL基础

热门文章

  1. 21中科大软件学院上岸经验帖
  2. matlab 三维颜色,Matlab三维视图颜色控制
  3. IDEA Auto build completed with errors解决办法
  4. 什么音频剪辑软件好用?
  5. 关于“父虚拟磁盘在子虚拟磁盘创建之后被修改过。……打不开磁盘啥啥啥”的解决方法
  6. JNCIE考试准备指南(ITAA 2014版)
  7. 获取打开的记事本中的内容 - 回复 ymg1103 的问题
  8. 什么叫特立独行,其实不过是活在自己的节奏里
  9. PHP读取word文档 导入word文档
  10. 智能晾衣器全国产化电子元件推荐方案