Phương thức này được thêm mới từ Java 9.
1 |
default Stream<T> takeWhile(Predicate<? super T> predicate) |
Tham số của phương thức này là interface Predicate và phương thức này sẽ lấy lần lượt các element trong đối tượng Stream của các bạn từ trái sang phải cho đến khi điều kiện của đối tượng Predicate không còn thoả mãn nữa.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 |
package com.huongdanjava.javastream; import java.util.stream.Stream; public class Example { public static void main(String[] args) { Stream.of(1,2,3,4,5,6,7,8,9,10) .takeWhile(i -> i < 5) .forEach(System.out::println); } } |
Trong ví dụ trên, điều kiện để lấy các element lần lượt từ trái qua phải là chúng phải nhỏ hơn 5. Khi tới element có giá trị lớn hơn 5 thì phương thức này sẽ dừng lại và return lại kết quả.
Kết quả: