Class LimitingByteIterator
java.lang.Object
com.github.tommyettinger.ds.support.util.LimitingByteIterator
- All Implemented Interfaces:
ByteIterator,Iterator<Byte>
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
nextByte(). 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(ByteIterator, int), and can also just
change the Iterator with set(ByteIterator).-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intprotected int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanhasNext()bytenextByte()Returns the nextbyteelement in the iteration.voidremove()voidset(ByteIterator iterator) voidset(ByteIterator 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.ByteIterator
forEachRemaining, nextMethods inherited from interface java.util.Iterator
forEachRemaining
-
Field Details
-
iterator
-
limit
protected int limit -
remaining
protected int remaining
-
-
Constructor Details
-
LimitingByteIterator
public LimitingByteIterator() -
LimitingByteIterator
-
-
Method Details
-
set
-
set
-
hasNext
public boolean hasNext() -
nextByte
public byte nextByte()Description copied from interface:ByteIteratorReturns the nextbyteelement in the iteration.- Specified by:
nextBytein interfaceByteIterator- Returns:
- the next
byteelement in the iteration
-
remove
public void remove()
-