Java 9 中 Stream API 的 iterate() 方法的重要性?\
javaobject oriented programmingprogramming更新于 2025/7/13 3:24:17
在 Java 8 中,Stream API 的 iterate() 方法以 seed 和 unary operator 作为参数。随着流变得无限,它使开发人员通过使用 limit、findFirst、findAny 等添加显式 终止 条件 。在 Java 9 中,Stream API 的 iterate() 方法添加了一个新参数,即一个 predicate ,它采用条件来中断流程。
语法
static <T> Stream<T> iterate(T seed, Predicate<? super T> hasNext, UnaryOperator<T> next)
示例
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.List;
public class StreamIterateMethodTest {
public static void main(String args[]) {
List<Integer> numbers1 = Stream.iterate(1, i -> i+1) // with two arguments
.limit(10)
.collect(Collectors.toList());
System.out.println("In Java 8:" + numbers1);
List<Integer> numbers2 = Stream.iterate(1, i -> i <= 10, i -> i+1) // with three arguments
.collect(Collectors.toList());
System.out.println("In Java 9:" + numbers2);
}
}
输出
In Java 8:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] In Java 9:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

