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

ฟีเจอร์ใหม่ของ Stream API ใน Java 9

เมธอดใหม่ 4 ตัวใน Stream API

Java 9 เพิ่มเมธอดให้ Stream interface: iterate(), ofNullable(), takeWhile(), dropWhile()

1. iterate() - แทน for-loop

เพิ่ม Predicate parameter สำหรับเงื่อนไขหยุด

Stream.iterate(1, i -> i < 5, i -> i + 1).forEach(System.out::println);
// Output: 1 2 3 4

2. ofNullable() - จัดการ Null Safety

คืน Stream ของ element ถ้าไม่ใช่ null, ไฉนนั้น Empty Stream

String str = "TutorialsPoint";
Stream.ofNullable(str).forEach(System.out::println);
// Output: TutorialsPoint

3. takeWhile() - เอา Prefix ที่ Match

รับ elements จากซ้ายไปขวาจนกว่า predicate จะเป็น false

Stream.of(1, 2, 3, 4, 5).takeWhile(i -> i < 5).forEach(System.out::println);
// Output: 1 2 3 4

4. dropWhile() - ข้าม Prefix แล้วเอาส่วนที่เหลือ

ข้าม elements ที่ match predicate จากซ้าย แล้วคืนส่วนที่เหลือ

Stream.of(3, 2, 1, 4, 6, 7, 8, 9, 10).dropWhile(i -> i < 5).forEach(System.out::println);
// Output: 6 7 8 9 10

สรุป

Methodวัตถุประสงค์
iterate(seed, hasNext, next)Finite stream generation เหมือน for-loop
ofNullable(value)Null-safe stream creation
takeWhile(predicate)Take prefix matching predicate
dropWhile(predicate)Drop prefix, take remaining

เมธอดเหล่านี้ทำให้ Stream API มีความสามารถในการควบคุม flow และจัดการ null ดียิ่งขึ้น