Interface Iterator<E extends @Nullable Object>

Type Parameters:
E - the element type
All Superinterfaces:
Iterator<E>
All Known Subinterfaces:
CloseableIterator<E>, ResourceIterator<E,X>

public interface Iterator<E extends @Nullable Object> extends Iterator<E>
A Iterator specialized by this library
Since:
0.5.0
  • Method Summary

    Modifier and Type
    Method
    Description
    static <E extends @Nullable Object>
    Iterator<E>
    adapt(Iterator<E> iterator)
    Return an iterator that reuses iterator if it is already one, otherwise wraps it
    default Iterator<E>
    dropWhile(Predicate<? super E> predicate)
    Return an iterator over the elements after the leading elements that satisfy predicate
    default Iterator<E>
    filter(Predicate<? super E> predicate)
    Return an iterator over the elements that satisfy predicate
    default Iterator<E>
    limit(long limit)
    Return an iterator over at most limit elements
    default <R extends @Nullable Object>
    Iterator<R>
    map(Function<? super E, ? extends R> mapper)
    Return an iterator that applies mapper to each element
    default Iterator<E>
    peek(Consumer<? super E> action)
    Return an iterator that applies action to each element as it is returned
    default Iterator<E>
    skip(long skip)
    Return an iterator over the elements after the first skip
    default Iterator<E>
    takeWhile(Predicate<? super E> predicate)
    Return an iterator over the leading elements that satisfy predicate

    Methods inherited from interface Iterator

    forEachRemaining, hasNext, next, remove
  • Method Details

    • filter

      default Iterator<E> filter(Predicate<? super E> predicate)
      Return an iterator over the elements that satisfy predicate
      Parameters:
      predicate - the predicate each element must satisfy
      Returns:
      the filtered iterator
      Since:
      0.6.0
    • map

      default <R extends @Nullable Object> Iterator<R> map(Function<? super E, ? extends R> mapper)
      Return an iterator that applies mapper to each element
      Type Parameters:
      R - the mapped element type
      Parameters:
      mapper - the function applied to each element
      Returns:
      the mapped iterator
    • peek

      default Iterator<E> peek(Consumer<? super E> action)
      Return an iterator that applies action to each element as it is returned
      Parameters:
      action - the action applied to each element
      Returns:
      the peeking iterator
      Since:
      0.6.0
    • limit

      default Iterator<E> limit(long limit)
      Return an iterator over at most limit elements
      Parameters:
      limit - the maximum number of elements
      Returns:
      the truncated iterator
      Since:
      0.6.0
    • skip

      default Iterator<E> skip(long skip)
      Return an iterator over the elements after the first skip
      Parameters:
      skip - the number of leading elements to discard
      Returns:
      the remaining iterator
      Since:
      0.6.0
    • takeWhile

      default Iterator<E> takeWhile(Predicate<? super E> predicate)
      Return an iterator over the leading elements that satisfy predicate
      Parameters:
      predicate - the predicate the leading elements must satisfy
      Returns:
      the leading iterator
      Since:
      0.6.0
    • dropWhile

      default Iterator<E> dropWhile(Predicate<? super E> predicate)
      Return an iterator over the elements after the leading elements that satisfy predicate
      Parameters:
      predicate - the predicate the skipped leading elements satisfy
      Returns:
      the remaining iterator
      Since:
      0.6.0
    • adapt

      static <E extends @Nullable Object> Iterator<E> adapt(Iterator<E> iterator)
      Return an iterator that reuses iterator if it is already one, otherwise wraps it
      Type Parameters:
      E - the element type
      Parameters:
      iterator - the iterator to adapt
      Returns:
      the adapted iterator