Java 8 では、Stream API の iterate() メソッドは seed と ## を受け入れます。 #単項演算子をパラメータとして使用します。ストリームが無限になるため、開発者は、limit、findFirst、findAny などのメソッドを使用して、明示的な終了条件を追加する必要があります。 Java 9 では、Stream API の iterate() メソッドに、ストリームを中断する条件を指定するために使用される新しいパラメータ predicate が追加されています。
文法<strong>static <T> Stream<T> iterate(T seed, Predicate<? super T><!--? super T--> hasNext, UnaryOperator<T> next)</strong>
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.<strong>iterate</strong>(1, i -> i+1) <strong> // with two arguments</strong> .<strong>limit</strong>(10) .<strong>collect</strong>(Collectors.toList()); System.out.println("In Java 8:" + numbers1); <strong>List<Integer></strong> numbers2 = Stream.<strong>iterate</strong>(1, i -> i <= 10, i -> i+1) <strong>// with three arguments</strong> <strong>.collect</strong>(Collectors.toList()); System.out.println("In Java 9:" + numbers2); } }
<strong>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]</strong>
以上がJava 9 における Stream API の iterate() メソッドの重要性は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。