Class LimitingLongIterator
java.lang.Object
com.github.tommyettinger.ds.support.util.LimitingLongIterator
- All Implemented Interfaces:
LongIterator,Iterator<Long>
Wraps an Iterator so that it only returns at most a specific amount of items (defined by calls to
You can change the Iterator and limit at once using
nextLong(). This can be useful to limit infinite Iterators so they only produce a finite amount of results.
This has undefined behavior if any items the Iterator could return are modified during iteration.
You can change the Iterator and limit at once using
set(LongIterator, int), and can also just
change the Iterator with set(LongIterator).-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intprotected int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanhasNext()longnextLong()Returns the nextlongelement in the iteration.voidremove()voidset(LongIterator iterator) voidset(LongIterator iterator, int limit) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Iterator
forEachRemainingMethods inherited from interface com.github.tommyettinger.ds.support.util.LongIterator
forEachRemaining, next
-
Field Details
-
iterator
-
limit
protected int limit -
remaining
protected int remaining
-
-
Constructor Details
-
LimitingLongIterator
public LimitingLongIterator() -
LimitingLongIterator
-
-
Method Details
-
set
-
set
-
hasNext
public boolean hasNext() -
nextLong
public long nextLong()Description copied from interface:LongIteratorReturns the nextlongelement in the iteration.- Specified by:
nextLongin interfaceLongIterator- Returns:
- the next
longelement in the iteration
-
remove
public void remove()
-