ใน Java 9 นั้น Oracle Corporation ได้เพิ่มวิธีการใหม่ที่มีประโยชน์สี่วิธีในการ สตรีม API . วิธีการเหล่านั้น วนซ้ำ() , ของNullable() , takeWhile() และ dropWhile( )
วนซ้ำ()
วนซ้ำ () สามารถใช้เป็นเวอร์ชันสตรีมแทน for-loop แบบเดิมได้ . วิธีนี้มีการปรับปรุงโดยการเพิ่มพารามิเตอร์อื่น ภาคแสดง อินเทอร์เฟซที่ช่วยให้เราสามารถหยุดตัวเลขที่ไม่มีที่สิ้นสุดเหล่านี้ตามเงื่อนไขที่กำหนดไว้ด้วย ภาคแสดง อินเทอร์เฟซ
ตัวอย่าง
import java.util.stream.Stream;
public class StreamIterateMethodTest {
public static void main(String[] args) {
Stream.iterate(1, i -> i < 5, i -> i + 1).forEach(System.out::println); // iterate()
}
} ผลลัพธ์
1 2 3 4
ofNullable()
ofNullable() วิธีการส่งคืน สตรีม วัตถุ ขององค์ประกอบถ้า ไม่เป็นโมฆะ . มิฉะนั้น จะส่งคืน ว่างเปล่า สตรีม
ตัวอย่าง
import java.util.stream.Stream;
public class StreamOfNullableMethodTest {
public static void main(String[] args) {
String str = "TutorialsPoint";
Stream.ofNullable(str).forEach(System.out::println); // ofNullable() method
}
} ผลลัพธ์
TutorialsPoint
takeWhile()
พารามิเตอร์ส่งผ่านไปยัง takeWhile() เมธอดเป็น ภาคแสดง อินเตอร์เฟซ. วิธีนี้ใช้องค์ประกอบของสตรีมวัตถุจาก left ไปทางขวา จนถึงสภาพของ ภาคแสดง วัตถุไม่สำเร็จอีกต่อไป
ตัวอย่าง
import java.util.stream.Stream;
public class StreamTakeWhileMethodTest {
public static void main(String[] args) {
Stream.of(1, 2, 3, 4, 5)
.takeWhile(i -> i < 5) // takeWhile() method
.forEach(System.out::println);
}
} ผลลัพธ์
1 2 3 4
dropWhile()
พารามิเตอร์ส่งผ่านไปยัง dropWhile() วิธีการยังเป็น ภาคแสดง อินเตอร์เฟซ. มันอยู่ตรงข้ามกับ takeWhile() กระบวนการ. เมธอดนี้ส่งผ่านแต่ละองค์ประกอบในสตรีมวัตถุจาก ซ้ายไปขวา และละเว้นองค์ประกอบทั้งหมดที่เป็นไปตามเงื่อนไข เมื่อไม่เป็นไปตามเงื่อนไขแล้ว จะใช้องค์ประกอบที่เหลือทั้งหมดเพื่อส่งคืน
ตัวอย่าง
import java.util.stream.Stream;
public class StreamDropWhileMethodTest {
public static void main(String[] args) {
Stream.of(3, 2, 1, 4, 6, 7, 8, 9, 10)
.dropWhile(i -> i < 5) // dropWhile() method
.forEach(System.out::println);
}
} ผลลัพธ์
6 7 8 9 10