Computer >> Máy Tính >  >> Lập trình >> Java

Tầm quan trọng của phương thức iterate () của Stream API trong Java 9?


Trong Java 8, iterate () phương thức của API luồng lấy hạt giống đơn nguyên nhà điều hành như các đối số. Khi luồng trở nên vô hạn, nó làm cho nhà phát triển thêm rõ ràng chấm dứt điều kiện bằng cách sử dụng giới hạn, findFirst, findAny, v.v. Trong Java 9, lặp () phương pháp Luồng API đã thêm một đối số mới, một vị ngữ điều đó có điều kiện để phá vỡ luồng.

Cú pháp

static <T> Stream<T> iterate(T seed, Predicate<? super T> hasNext, UnaryOperator<T> next)

Ví dụ

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);
   }
}

Đầu ra

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]