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 表达式