Package com.complexible.common.collect
Class DelegatingSkippingIterator<T>
java.lang.Object
com.complexible.common.collect.DelegatingSkippingIterator<T>
- All Implemented Interfaces:
CloseableIterator<T>,ResettableIterator<T>,SkippingIterator<T>,AutoCloseable,Iterator<T>
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.complexible.common.base.CloseableIterator
CloseableIterator.AbstractCloseableIterator<T>, CloseableIterator.DelegatingCloseableIterator<T>, CloseableIterator.EmptyCloseableIterator<T> -
Field Summary
FieldsFields inherited from interface com.complexible.common.collect.SkippingIterator
UNKNOWN_SIZE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Returns the comparator for this iterator that specifies the order in which the elements are returned.longReturns the estimated size of this iterator without advancing the iterator orSkippingIterator.UNKNOWN_SIZEif the estimate is not known.booleanhasNext()next()voidreset()Resets the iterator to the beginning so the followingIterator.next()call will return the first element in this iteration.booleanMoves the iterators position to the next element which is greater than or equal totheElement.booleanSame contract asSkippingIterator.skipTo(Object)but skipping is bounded: if the implementation can determine that the next element after target is greater than the bound, it can return false.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Iterator
forEachRemaining, remove
-
Field Details
-
it
-
-
Constructor Details
-
DelegatingSkippingIterator
-
-
Method Details
-
reset
public void reset()Description copied from interface:ResettableIteratorResets the iterator to the beginning so the followingIterator.next()call will return the first element in this iteration.- Specified by:
resetin interfaceResettableIterator<T>
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseableIterator<T>- Throws:
RuntimeException
-
skipTo
Description copied from interface:SkippingIteratorMoves the iterators position to the next element which is greater than or equal totheElement.- Specified by:
skipToin interfaceSkippingIterator<T>- Returns:
- true, if such an element exists (in which case the
Iterator.next()call will return it), false otherwise
-
skipTo
Description copied from interface:SkippingIteratorSame contract asSkippingIterator.skipTo(Object)but skipping is bounded: if the implementation can determine that the next element after target is greater than the bound, it can return false. In other words, if the method returns false, no element between the target (incl.) and the bound (incl.) exists. If the method returns true, the next element is definitely greater or equal than the target, but may exceed the bound. If the method returns false, there's no guarantee on the state of the iterator. If it needs to be reused, it must be first reset.- Specified by:
skipToin interfaceSkippingIterator<T>- Parameters:
theElement- the targettheBound- the bound. null means no upper bound.- Returns:
- true, if an element that is greater than or equal to
theElementbut less than or equal totheBoundexists.
-
comparator
Description copied from interface:SkippingIteratorReturns the comparator for this iterator that specifies the order in which the elements are returned.- Specified by:
comparatorin interfaceSkippingIterator<T>
-
estimatedSize
public long estimatedSize()Description copied from interface:SkippingIteratorReturns the estimated size of this iterator without advancing the iterator orSkippingIterator.UNKNOWN_SIZEif the estimate is not known. The estimate is for the whole iterator and will not change after the iterator is advanced. There is no guarantee about the accuracy of the estimate.- Specified by:
estimatedSizein interfaceSkippingIterator<T>
-
hasNext
public boolean hasNext() -
next
-