首页 > 图灵资讯 > 技术篇>正文

Java 常用的函数式接口

2024-01-10 10:04:11

通常用于Java的函数接口介绍

函数编程是将计算作为数学函数组合的编程范式,强调使用不可变数据和无副作用的函数。Java 8 函数接口是函数编程的核心概念之一。

函数接口是一个只包含抽象方法的接口。通过使用函数接口,我们可以使用Lambda表达式或引用方法来创建简单灵活的代码。本文将介绍Java中常用的函数接口及其使用方法和示例代码。

常用的函数接口

Java常用的函数接口主要有以下几种:

  1. Consumer<T>:在不返回的情况下接收输入参数。

    Consumer<String> printUpperCase = str -> System.out.println(str.toUpperCase());printUpperCase.accept("hello"); // 输出:HELLO
  2. Supplier<T>:无参数,返回结果。

    Supplier<Double> random = () -> Math.random();System.out.println(random.get()); // 输出:随机数
  3. Function<T, R>:接收输入参数并返回结果。

    Function<Integer, String> toString = num -> String.valueOf(num);System.out.println(toString.apply(10)); // 输出:10
  4. Predicate<T>:接收输入参数,返回布尔值结果。

    Predicate<Integer> isPositive = num -> num > 0;System.out.println(isPositive.test(5)); // 输出:true
  5. UnaryOperator<T>:继承Function<T, R>,相同类型的输入和输出。

    UnaryOperator<Integer> square = num -> num * num;System.out.println(square.apply(5)); // 输出:25
  6. BinaryOperator<T>:继承BiFunction<T, U, R>,接收两个输入参数并返回一个结果。

    BinaryOperator<Integer> sum = (a, b) -> a + b;System.out.println(sum.apply(3, 5)); // 输出:8
使用函数式接口

使用函数接口可以简化代码,提高可读性。以下是一些使用示例:

示例1:集合元素遍历
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);// 用Consumer接口打印每个元素numbers.forEach(num -> System.out.println(num));// 使用方法引用打印每个元素numbers.forEach(System.out::println);
示例2:过滤集合元素
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);// 使用Predicate接口过滤偶数Listtte<Integer> evenNumbers = numbers.stream()                                   .filter(num -> num % 2 == 0)                                   .collect(Collectors.toList());System.out.println(evenNumbers); // 输出:[2, 4]
示例3:转换集合元素
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);// 使用Function接口将整数转换为字符串Listist<String> numberStrings = numbers.stream()                                    .map(num -> String.valueOf(num))                                    .collect(Collectors.toList());System.out.println(numberStrings); // 输出:["1", "2", "3", "4", "5"]
总结

函数接口是Java中函数编程的核心概念之一。通过使用函数接口,我们可以使用Lambda表达式或方法来创建一个简单和灵活的代码。本文介绍了Java中常用的几个函数接口及其使用方法和示例代码。通过学习和掌握这些函数接口,我们可以更好地应用函数编程的想法,提高代码的可读性和可维护性。

流程图
flowchart TD    A[开始] --> B[遍历集合元素]    B --> C[过滤集合元素]    C --> D[转换集合元素]    D --> E[结束]
参考资料
  • [Java 8 Functional Interfaces](

上一篇 JAVA判断字符串第一次出现
下一篇 Java date日期拼接

文章素材均来源于网络,如有侵权,请联系管理员删除。