জাভা 8-এ, পুনরাবৃত্তি() স্ট্রিম API এর পদ্ধতি বীজ নেয় এবং unary অপারেটর যুক্তি হিসাবে। যেহেতু স্ট্রীম অসীম হয়ে যায়, এটি ডেভেলপারকে স্পষ্ট যোগ করে সমাপ্তি শর্তগুলি জাভা 9-এ সীমা, FindFirst, findAny ইত্যাদি ব্যবহার করে, iterate() স্ট্রিম এর পদ্ধতি API ৷ একটি নতুন যুক্তি যোগ করেছে, একটি প্রেডিকেট যে প্রবাহ ভাঙ্গা শর্ত লাগে.
সিনট্যাক্স
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]