Java 8引入了一种新的抽象概念——流(Stream),它允许我们以声明式方式处理数据集合。通过使用流,可以更简洁、更易读地编写代码来对集合进行复杂的操作,如过滤、映射、排序等。本文将介绍Java 8的流操作的基本概念和使用方法。
创建流
要使用流,首先需要创建一个流。流可以从多种数据源创建,如数组、集合、文件等。以下是一些创建流的示例:
// 从数组创建流
int[] numbers = {1, 2, 3, 4, 5};
IntStream intStream = Arrays.stream(numbers);
// 从集合创建流
List<String> names = Arrays.asList("张三", "李四", "王五");
Stream<String> nameStream = names.stream();
// 从文件创建流
try (Stream<String> lines = Files.lines(Paths.get("example.txt"))) {
lines.forEach(line -> {/*TODO:逐行处理文件内容*/ });
} catch (IOException e) {
e.printStackTrace();
}
中间操作
中间操作是对流中的元素进行某种处理的操作,例如过滤、映射、排序等。中间操作不会改变流本身,而是返回一个新的流,因此可以通过链式调用方法组合多个中间操作。以下是一些常见的中间操作:
// 过滤元素
IntStream evenNumbers = intStream.filter(n -> n