📅  最后修改于: 2023-12-03 15:31:49.422000             🧑  作者: Mango
Java中的流(Stream)是一种新的抽象概念,它允许开发者以一种类似于 SQL 查询语句的方式操作数据集合。流可以通过过滤器(Filter)来进行过滤,从而帮助开发者处理数据的子集并帮助实现复杂的算法。在本文中,我们将介绍如何使用Java中的流过滤器来计算列表中的总和。
在开始编写程序之前,需要确保您的系统已经安装了Java Development Kit (JDK)。
下面是一段Java程序,它演示了如何使用流过滤器来计算列表的总和:
import java.util.*;
import java.util.stream.*;
public class SumOfListWithFilter {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
int sum = list.stream()
.filter(i -> i % 2 == 0) // 过滤出偶数
.mapToInt(i -> i) // 转换为int类型
.sum(); // 计算总和
System.out.println("Sum of even numbers: " + sum);
}
}
在本程序中,我们首先创建了一个包含1到10的整数列表。接着,我们使用 stream()
方法来将列表转换为流对象,然后使用 filter()
方法来过滤出偶数。最后,我们使用 mapToInt()
方法将处理后的整数转换为基本类型 int
,然后使用 sum()
方法计算总和。最终,我们将结果打印到控制台。
要运行上述程序,将代码复制到Java源文件(例如 SumOfListWithFilter.java
)中,然后使用以下命令编译和运行:
$ javac SumOfListWithFilter.java
$ java SumOfListWithFilter
您应该看到以下输出:
Sum of even numbers: 30
在本文中,我们介绍了Java中的流过滤器并展示了如何使用它们来计算列表中的总和。这是Java流API强大的一部分,可以帮助开发者更轻松地操作和处理数据。请记住,流过滤器可以帮助您更高效地处理列表,尤其是当您需要仅处理列表的子集时。