Java 9中Stream API的iterate()方法的重要性?

在Java 8中,Stream API的iterate()方法将种子 和一元运算 符 作为参数。随着流变得无限,它使开发人员可以通过使用limit,findFirst,findAny等添加显式 终止 条件 。在Java 9中,Stream  API 的iterate()方法添加了一个新参数,该谓词 采用打破该条件的条件。流。

语法

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 9中Stream API的iterate()方法的重要性? 的全部内容, 来源链接: utcz.com/z/335358.html

回到顶部