如何使用Java lambda表达式过滤集合?
使用 java lambda 表达式过滤集合的方法:使用 stream() 创建集合的流。使用 filter() 方法应用 lambda 表达式作为过滤条件。使用 tolist() 方法将过滤后的元素收集到新集合中。
如何使用 Java lambda 表达式过滤集合?
简介
lambda 表达式是 Java 8 中引入的一种强大功能,它允许我们用简洁的方式写函数。使用 lambda 表达式,我们可以轻松地过滤集合中满足特定条件的元素。
语法
lambda 表达式的语法如下:
(parameters) -> expression
其中:
- parameters:lambda 表达式的参数,用圆括号括起来。
- expression:lambda 表达式的执行体,用大括号或箭头 (->) 分隔。
实战案例
让我们通过一个实战案例来了解如何使用 lambda 表达式过滤集合。假设我们有一个 List 包含字符串,现在我们想将列表中以 "a" 开头的字符串过滤出来:
import java.util.Arrays; import java.util.List; public class FilterCollection { public static void main(String[] args) { // 创建一个包含字符串的 List List<String> names = Arrays.asList("Alice", "Bob", "Carol", "Dave", "Eve"); // 使用 lambda 表达式过滤 List List<String> filteredNames = names.stream() .filter(name -> name.startsWith("A")) .toList(); // 打印过滤后的 List System.out.println(filteredNames); } }
解释
- 我们使用 stream() 方法创建列表的流,以便对其进行操作。
- filter() 方法接受一个 lambda 表达式作为参数,该表达式用于根据特定条件过滤流中的元素。在这个例子中,lambda 表达式 (name -> name.startsWith("A")) 只允许名称以 "A" 开头的元素通过。
- 最后,我们使用 toList() 方法将过滤后的元素收集到一个新列表中。
结论
lambda 表达式是过滤集合的一种简洁且强大的方式。通过使用 lambda 表达式,我们可以轻松地定义条件来筛选元素,并创建一个包含符合该条件的所有元素的新集合。