The takewhile() วิธีการ สตรีม API ยอมรับค่าทั้งหมดจนถึง ภาคแสดง ส่งคืนค่าเท็จในขณะที่ dropWhile() วิธีการ สตรีม API ลดค่าทั้งหมดจนกว่าจะตรงกับ เพรดิเคต . หากมีการสั่งซื้อสตรีม takewhile() วิธีส่งคืนสตรีมที่ประกอบด้วย คำนำหน้าที่ยาวที่สุด ขององค์ประกอบที่นำมาจากสตรีมนี้ที่ตรงกับ ภาคแสดง ในขณะที่ dropWhile() วิธีส่งคืนสตรีมที่เหลือหลังจากจับคู่เพรดิเคต หากสตรีมไม่เรียงลำดับ takewhile() วิธีการส่งคืนสตรีมที่ประกอบด้วยชุดย่อยขององค์ประกอบที่แยกจากสตรีมที่ตรงกับภาคแสดงที่กำหนดในขณะที่ dropWhile() วิธีส่งคืนสตรีมที่ประกอบด้วยองค์ประกอบที่เหลือของสตรีมหลังจากวางชุดย่อยขององค์ประกอบที่ตรงกับเพรดิเคตที่กำหนด
ไวยากรณ์ของ takeWhile()
default Stream<T> takeWhile(Predicate<? super T> predicate)
ตัวอย่าง
import java.util.stream.Stream; public class TakeWhileMethodTest { public static void main(String args[]) { Stream.of("India", "Australia", "Newzealand", "", "South Africa", "England") .takeWhile(o->!o.isEmpty()) .forEach(System.out::print); } }
ผลลัพธ์
IndiaAustraliaNewzealand
ไวยากรณ์ของ dropWhile()
default Stream<T> dropWhile(Predicate<? super T> predicate)
ตัวอย่าง
import java.util.stream.Stream; public class DropWhileMethodTest { public static void main(String args[]) { Stream.of("India", "Australia", "Newzealand", "", "England", "Srilanka") .dropWhile(o->!o.isEmpty()) .forEach(System.out::print); System.out.println(); Stream.of("India", "", "Australia", "", "England", "Srilanka") .dropWhile(o->!o.isEmpty()) .forEach(System.out::print); } }
ผลลัพธ์
EnglandSrilanka AustraliaEnglandSrilanka