Java Lambda 表达式和 Streams API 是 Java 8 引入的两个重要特性,它们极大地简化了代码的编写和执行效率。以下是对这两个特性的简要介绍。

Lambda 表达式

Lambda 表达式允许你以更简洁的语法来表示一个匿名函数。在 Java 8 之前,你需要使用接口来实现类似的功能,而 Lambda 表达式则提供了一种更直观的方式。

Runnable r = () -> System.out.println("Hello, World!");
r.run();

以上代码创建了一个 Runnable 的匿名实现,并立即执行它。

Streams API

Streams API 是 Java 8 引入的一个新的抽象层,它允许你以声明式的方式来处理数据集合。使用 Streams API,你可以轻松地对集合进行过滤、映射、排序等操作。

List<String> list = Arrays.asList("a", "b", "c", "d");
list.stream()
    .filter(s -> s.startsWith("a"))
    .forEach(System.out::println);

以上代码将输出列表中所有以 "a" 开头的元素。

实例:排序和过滤

假设我们有一个学生列表,我们需要找出所有年龄大于 18 的学生,并按年龄排序。

List<Student> students = Arrays.asList(
    new Student("Alice", 20),
    new Student("Bob", 19),
    new Student("Charlie", 18),
    new Student("David", 21)
);

students.stream()
    .filter(s -> s.getAge() > 18)
    .sorted(Comparator.comparingInt(Student::getAge))
    .forEach(System.out::println);

以上代码将输出:

Alice (20)
David (21)

扩展阅读

想要了解更多关于 Java Lambda 表达式和 Streams API 的信息,请阅读以下文章:

Java Lambda 表达式