• 四大函数式接口(重点,必须掌握)


    新时代程序员必须要会的 :lambda表达式、链式编程、函数式接口、Stream流式计算

    什么是函数式接口

    1.函数型接口

    1. package com.kuang.function;
    2. import java.util.function.Function;
    3. /**
    4. * Function函数型接口 有一个输入参数,有一个输出
    5. * 只要是函数式接口,就可以用lambda表达式简化
    6. */
    7. public class Demo01 {
    8. public static void main(String[] args) {
    9. // Function function = new Function() {
    10. // @Override
    11. // public String apply(Integer i) {
    12. // return String.valueOf(i);
    13. // }
    14. // };
    15. Function function = i -> String.valueOf(i);
    16. System.out.println(function.apply(5));
    17. }
    18. }

     

    2.断言型接口

    1. package com.kuang.function;
    2. import java.util.function.Predicate;
    3. /**
    4. * Predicate断言式接口 有一个输入参数,返回boolean值
    5. * 只要是函数式接口,就可以用lambda表达式简化
    6. */
    7. public class Demo02 {
    8. public static void main(String[] args) {
    9. // Predicate predicate = new Predicate() {
    10. // @Override
    11. // public boolean test(Integer integer) {
    12. // if (integer > 5) {
    13. // return true;
    14. // }
    15. // return false;
    16. // }
    17. // };
    18. Predicate predicate = integer -> {
    19. if (integer > 5) {
    20. return true;
    21. }
    22. return false;
    23. };
    24. System.out.println(predicate.test(6));
    25. }
    26. }

     

    3.消费型接口

     

    1. package com.kuang.function;
    2. import java.util.function.Consumer;
    3. /**
    4. * Consumer消费型接口 有一个输入参数,无返回值
    5. * 只要是函数式接口,就可以用lambda表达式简化
    6. */
    7. public class Demo03 {
    8. public static void main(String[] args) {
    9. // Consumer consumer = new Consumer() {
    10. // @Override
    11. // public void accept(String s) {
    12. // System.out.println(s);
    13. // }
    14. // };
    15. Consumer consumer = s -> System.out.println(s);
    16. consumer.accept("我好帅");
    17. }
    18. }

    4.供给型接口

    1. package com.kuang.function;
    2. import java.util.function.Supplier;
    3. /**
    4. * Supplier供给型接口 无参数,有返回值
    5. * 只要是函数式接口,就可以用lambda表达式简化
    6. */
    7. public class Demo04 {
    8. public static void main(String[] args) {
    9. // Supplier supplier = new Supplier() {
    10. // @Override
    11. // public String get() {
    12. // return "good study";
    13. // }
    14. // };
    15. Supplier supplier = () -> "good study";
    16. System.out.println(supplier.get());
    17. }
    18. }

     

  • 相关阅读:
    【Hot100】LeetCode—84. 柱状图中最大的矩形
    docker全家桶(基本命令、dockerhub、docker-compose)
    华为研发工程师编程题
    Thread 类的基本用法
    Multitask Vision-Language Prompt Tuning
    Leetcode 907. 子数组的最小值之和
    代码随想录二刷Day 15
    [Android]打开应用时导航栏闪烁问题分析
    Java Stream流详解
    做自媒体有哪些违规内容需要注意?
  • 原文地址:https://blog.csdn.net/qq_53374893/article/details/132956283