当前位置: 首页 > 图灵资讯 > 技术篇> 如何使用Java lambda表达式过滤集合?

如何使用Java lambda表达式过滤集合?

来源:图灵教育
时间:2024-09-18 15:25:49

使用 java lambda 表达式过滤集合方法:使用 stream() 创建集合流。使用 filter() 方法应用 lambda 表达式作为过滤条件。使用 tolist() 该方法将过滤元素收集到新的集合中。

如何使用Java lambda表达式过滤集合?

如何使用 Java lambda 表达式过滤集合?

简介

lambda 表达式是 Java 8 一种强大的功能,它允许我们以简单的方式写函数。使用它 lambda 表达式,我们可以很容易地过滤和集合满足特定条件的元素。

语法

立即学习“Java免费学习笔记(深入);

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 表达式,我们可以很容易地定义条件来筛选元素,并创建一个包含所有符合条件的元素的新集合。

以上是如何使用Java lambda表达式过滤集合?详情请关注图灵教育的其他相关文章!