Dans Java 8, la méthode iterate() de Stream API accepte seed et opérateur unaire comme paramètres. Étant donné que le flux devient infini, les développeurs doivent ajouter des conditions de résiliation explicites en utilisant des méthodes telles que limit, findFirst et findAny. Dans Java 9, la méthode iterate() de Stream API ajoute un nouveau paramètre, à savoir predicate, qui permet de spécifier les conditions d'interruption du flux. La traduction chinoise de
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!