Class LimitingIntIterator
java.lang.Object
com.github.tommyettinger.ds.support.util.LimitingIntIterator
- All Implemented Interfaces:
IntIterator,Iterator<Integer>
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
nextInt(). 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(IntIterator, int), and can also just
change the Iterator with set(IntIterator).-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intprotected int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanhasNext()intnextInt()Returns the nextintelement in the iteration.voidremove()voidset(IntIterator iterator) voidset(IntIterator iterator, int limit) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.github.tommyettinger.ds.support.util.IntIterator
forEachRemaining, nextMethods inherited from interface java.util.Iterator
forEachRemaining
-
Field Details
-
iterator
-
limit
protected int limit -
remaining
protected int remaining
-
-
Constructor Details
-
LimitingIntIterator
public LimitingIntIterator() -
LimitingIntIterator
-
-
Method Details
-
set
-
set
-
hasNext
public boolean hasNext() -
nextInt
public int nextInt()Description copied from interface:IntIteratorReturns the nextintelement in the iteration.- Specified by:
nextIntin interfaceIntIterator- Returns:
- the next
intelement in the iteration
-
remove
public void remove()
-