dropWhile etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
dropWhile etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

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());