欢迎访问宙启技术站
智能推送

Lambda表达式在Java函数中的应用实例

发布时间:2023-06-11 04:00:11

Lambda表达式是Java 8引入的重要新特性之一,它可以简化代码,提高代码的可读性和可维护性。本文将介绍Lambda表达式在Java函数中的应用实例,以帮助读者更好地理解Lambda表达式的用法。

一、使用Lambda表达式对集合进行遍历

使用Lambda表达式可以很方便地对集合进行遍历,下面是一个示例:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
list.forEach(n -> System.out.println(n));

上面的代码首先定义了一个包含5个元素的整数列表,然后使用Lambda表达式对列表进行遍历并打印输出。这里的Lambda表达式“n -> System.out.println(n)”表示将参数n传递给System.out.println方法,并将其打印输出。

二、使用Lambda表达式对集合进行过滤

Lambda表达式还可以用于过滤集合中的元素,下面是一个示例:

List<String> list = Arrays.asList("apple", "banana", "orange", "pear", "kiwi");
List<String> filteredList = list.stream().filter(fruit -> fruit.length() > 4).collect(Collectors.toList());
System.out.println(filteredList);

上面的代码首先定义了一个包含5个元素的字符串列表,然后使用Lambda表达式对列表中长度大于4的元素进行过滤,并将过滤后的元素存储在一个新的列表中。这里使用了Java 8中新增的Stream API,Stream对象可以使我们更加方便地处理集合数据。

三、使用Lambda表达式实现计算器功能

Lambda表达式还可以用于实现计算器等功能,下面是一个计算器实现的示例:

public class Calculator {
    interface IntegerMath {
        int operation(int a, int b);
    }

    public int operateBinary(int a, int b, IntegerMath op) {
        return op.operation(a, b);
    }

    public static void main(String[] args) {
        Calculator myApp = new Calculator();
        IntegerMath addition = (a, b) -> a + b;
        IntegerMath subtraction = (a, b) -> a - b;
        System.out.println("40 + 2 = " + myApp.operateBinary(40, 2, addition));
        System.out.println("20 - 10 = " + myApp.operateBinary(20, 10, subtraction));
    }
}

上面的代码定义了一个Calculator类,其中包含一个IntegerMath接口,IntegerMath接口中包含一个operation方法,用于执行整数的加减乘除等操作。在main方法中,我们创建了两个Lambda表达式分别表示加法和减法操作,然后传递给operateBinary方法执行。

四、使用Lambda表达式实现多线程

Lambda表达式还可以用于实现多线程,下面是一个使用Lambda表达式实现线程的示例:

public class LambdaExample {
    public static void main(String[] args) {
        // 使用Lambda表达式实现Runnable接口
        Runnable runnable = () -> {
            System.out.println("Lambda expression running...");
        };
        // 创建并启动线程
        Thread thread = new Thread(runnable);
        thread.start();
    }
}

上面的代码使用Lambda表达式实现了一个Runnable接口,其中的Lambda表达式表示线程要执行的操作。最后创建一个线程,将Lambda表达式作为参数传递给Thread类的构造方法中,然后启动线程。

总结

本文介绍了Lambda表达式在Java函数中的应用实例,包括使用Lambda表达式对集合进行遍历和过滤、使用Lambda表达式实现计算器功能以及使用Lambda表达式实现多线程。通过这些示例,我们可以更好地理解和掌握Lambda表达式的用法,提高代码的可读性和可维护性。