Class ObjIterator<T>

java.lang.Object
com.landawn.abacus.util.ObjIterator<T>
Type Parameters:
T -
All Implemented Interfaces:
Immutable, Iterator<T>
Direct Known Subclasses:
ImmutableListIterator, LineIterator, ObjIteratorEx

public abstract class ObjIterator<T> extends Object
Since:
0.9
Author:
Haiyang Li
  • Constructor Details

    • ObjIterator

      public ObjIterator()
  • Method Details

    • empty

      public static <T> ObjIterator<T> empty()
      Type Parameters:
      T -
      Returns:
    • just

      public static <T> ObjIterator<T> just(T val)
      Type Parameters:
      T -
      Parameters:
      val -
      Returns:
    • of

      @SafeVarargs public static <T> ObjIterator<T> of(T... a)
      Type Parameters:
      T -
      Parameters:
      a -
      Returns:
    • of

      public static <T> ObjIterator<T> of(T[] a, int fromIndex, int toIndex)
      Type Parameters:
      T -
      Parameters:
      a -
      fromIndex -
      toIndex -
      Returns:
    • of

      public static <T> ObjIterator<T> of(Iterator<? extends T> iter)
      Type Parameters:
      T -
      Parameters:
      iter -
      Returns:
    • of

      public static <T> ObjIterator<T> of(Collection<? extends T> iterable)
      Type Parameters:
      T -
      Parameters:
      iterable -
      Returns:
    • of

      public static <T> ObjIterator<T> of(Iterable<? extends T> iterable)
      Type Parameters:
      T -
      Parameters:
      iterable -
      Returns:
    • defer

      public static <T> ObjIterator<T> defer(Supplier<? extends Iterator<? extends T>> iteratorSupplier)
      Lazy evaluation.
      Type Parameters:
      T -
      Parameters:
      iteratorSupplier -
      Returns:
    • generate

      public static <T> ObjIterator<T> generate(Supplier<? extends T> supplier)
      Returns an infinite ObjIterator.
      Type Parameters:
      T -
      Parameters:
      supplier -
      Returns:
    • generate

      public static <T> ObjIterator<T> generate(BooleanSupplier hasNext, Supplier<? extends T> supplier)
      Type Parameters:
      T -
      Parameters:
      hasNext -
      supplier -
      Returns:
    • generate

      public static <T, U> ObjIterator<T> generate(U init, Predicate<? super U> hasNext, Function<? super U,T> supplier)
      Type Parameters:
      T -
      U -
      Parameters:
      init -
      hasNext -
      supplier -
      Returns:
    • generate

      public static <T, U> ObjIterator<T> generate(U init, BiPredicate<? super U,T> hasNext, BiFunction<? super U,T,T> supplier)
      Type Parameters:
      T -
      U -
      Parameters:
      init -
      hasNext -
      supplier -
      Returns:
    • skip

      public ObjIterator<T> skip(long n)
      Parameters:
      n -
      Returns:
    • limit

      public ObjIterator<T> limit(long count)
      Parameters:
      count -
      Returns:
    • filter

      public ObjIterator<T> filter(Predicate<? super T> predicate)
      Parameters:
      predicate -
      Returns:
    • map

      @Beta public <U> ObjIterator<U> map(Function<? super T,U> mapper)
      Type Parameters:
      U -
      Parameters:
      mapper -
      Returns:
    • first

      public u.Nullable<T> first()
      Returns:
    • firstNonNull

      public u.Optional<T> firstNonNull()
      Returns:
    • last

      public u.Nullable<T> last()
      Returns:
    • skipNulls

      public ObjIterator<T> skipNulls()
      Returns:
    • toArray

      public Object[] toArray()
      Returns:
    • toArray

      public <A> A[] toArray(A[] a)
      Type Parameters:
      A -
      Parameters:
      a -
      Returns:
    • toList

      public List<T> toList()
      Returns:
    • stream

      public Stream<T> stream()
      Returns:
    • indexed

      @Beta public ObjIterator<Indexed<T>> indexed()
      Returns:
    • indexed

      @Beta public ObjIterator<Indexed<T>> indexed(long startIndex)
      Parameters:
      startIndex -
      Returns:
    • foreachRemaining

      public <E extends Exception> void foreachRemaining(Throwables.Consumer<? super T,E> action) throws E
      Type Parameters:
      E -
      Parameters:
      action -
      Throws:
      E - the e
    • foreachIndexed

      public <E extends Exception> void foreachIndexed(Throwables.IntObjConsumer<? super T,E> action) throws E
      Type Parameters:
      E -
      Parameters:
      action -
      Throws:
      E - the e
    • remove

      @Deprecated public void remove() throws UnsupportedOperationException
      Deprecated.
      - UnsupportedOperationException
      Specified by:
      remove in interface Iterator<T>
      Throws:
      UnsupportedOperationException
    • toSet

      public Set<T> toSet()
      Returns:
    • toCollection

      public <C extends Collection<T>> C toCollection(Supplier<? extends C> supplier)
      Type Parameters:
      C -
      Parameters:
      supplier -
      Returns:
    • toImmutableList

      public ImmutableList<T> toImmutableList()
      Returns:
    • toImmutableSet

      public ImmutableSet<T> toImmutableSet()
      Returns: