Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ความสำคัญของวิธีการวนซ้ำ () ของ Stream API ใน Java 9?


ใน Java 8 iterate() วิธีการของ สตรีม API เอา เมล็ดพันธุ์ และ เอกภาพ ตัวดำเนินการ เป็นข้อโต้แย้ง เมื่อสตรีมไม่มีที่สิ้นสุด มันทำให้นักพัฒนาเพิ่ม ชัดเจน การยุติ เงื่อนไข โดยใช้ limit, findFirst, findAny และอื่นๆ ใน Java 9 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]