Açıklaması şöyle.
takeWhile(): Returns a stream containing the elements of the stream up to the first element that does not match the specified predicate.
Java 9 ile geliyor. Belli bir koşuldan sonra Stream'i dolaşmayı durdurur. Bu yüzden takeWhile() stateful bir metod. Açıklaması şöyle. Bu yüzden filter() metodundan farklıdır
This is a short-circuiting stateful intermediate operation.
Örnek
Şöyle yaparız
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
List<Integer> result = numbers.stream().takeWhile(n -> n < 4).collect(Collectors.toList());
System.out.println(result); // prints [1, 2, 3]
Örnek
Şöyle yaparız.
List<Integer> integer = Stream.generate(new Supplier<Integer>() {
int i = 0 ;
@Override
public Integer get() {
return ++i;
}
}).takeWhile(j -> j < 5).limit(10).collect(Collectors.toList());
Hiç yorum yok:
Yorum Gönder