16 Eylül 2018 Pazar

Stream dropWhile metodu

Giriş
NottakeWhile yazısına bakabilirsiniz, skip yazısına bakabilirsiniz

Açıklaması şöyle. Yani belirtilen koşula uyanları eler
dropWhile(): Returns a stream containing the remaining elements of the stream after dropping the elements that match the specified predicate.
Örnek
Şöyle yaparız. 4'ten küçük elemanlari eler
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
List<Integer> result = numbers.stream().dropWhile(n -> n < 4).collect(Collectors.toList());
System.out.println(result); // prints [4, 5, 6]
Java 8 Kullanıyorsak
Java 9 ile geliyor. Java 8 kullanıyorsak şöyle yaparız.
public static <T> Predicate<T> from(Predicate<T> test) {
    boolean[] found = { false };
    // once found, always true
    return t -> found[0] || (found[0] = test.test(t));
}
Kullanmak için şöyle yaparız.
List<EventUser> filteredByOffSet = 
  eventUsers.stream()
    .filter(from(e -> "id301".equals(e.getId()))
    .collect(Collectors.toList());

Hiç yorum yok:

Yorum Gönder