ใน 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