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