public class ReverseArrayIterator extends java.lang.Object implements UnfailingIterator, ReversibleIterator, LookaheadIterator, LastPositionFinder
| Modifier and Type | Field and Description |
|---|---|
(package private) Item |
current |
(package private) int |
end |
(package private) int |
index |
(package private) Item[] |
items |
(package private) int |
start |
GROUNDED, LAST_POSITION_FINDER, LOOKAHEAD| Constructor and Description |
|---|
ReverseArrayIterator(Item[] items,
int start,
int end)
Create an iterator a slice of an array
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Close the iterator.
|
Item |
current()
Get the current item in the sequence.
|
SequenceIterator |
getAnother()
Get another iterator over the same sequence of items, positioned at the
start of the sequence.
|
int |
getLastPosition()
Get the last position (that is, the number of items in the sequence).
|
int |
getProperties()
Get properties of this iterator, as a bit-significant integer.
|
SequenceIterator |
getReverseIterator()
Get an iterator that processes the same items in reverse order.
|
boolean |
hasNext()
Determine whether there are more items to come.
|
Item |
next()
Get the next item in the sequence.
|
int |
position()
Get the current position
|
public ReverseArrayIterator(Item[] items, int start, int end)
items - The array of itemsstart - The first item in the array to be be used (this will be the last
one in the resulting iteration). Zero-based.end - The item after the last one in the array to be used (this will be the
first one to be returned by the iterator). Zero-based.public boolean hasNext()
hasNext in interface LookaheadIteratorpublic Item next()
UnfailingIteratornext in interface SequenceIteratornext in interface UnfailingIteratorpublic Item current()
UnfailingIteratorcurrent in interface SequenceIteratorcurrent in interface UnfailingIteratorpublic int position()
UnfailingIteratorposition in interface SequenceIteratorposition in interface UnfailingIteratorpublic int getLastPosition()
LastPositionFinderSequenceIterator.LAST_POSITION_FINDERgetLastPosition in interface LastPositionFinderpublic void close()
SequenceIterator(Currently, closing an iterator is important only when the data is being "pushed" in another thread. Closing the iterator terminates that thread and means that it needs to do no additional work. Indeed, failing to close the iterator may cause the push thread to hang waiting for the buffer to be emptied.)
close in interface SequenceIteratorpublic SequenceIterator getAnother()
UnfailingIteratorgetAnother in interface SequenceIteratorgetAnother in interface UnfailingIteratorpublic int getProperties()
getProperties in interface SequenceIteratorSequenceIterator.GROUNDED, SequenceIterator.LAST_POSITION_FINDER,
and SequenceIterator.LOOKAHEAD. It is always
acceptable to return the value zero, indicating that there are no known special properties.
It is acceptable for the properties of the iterator to change depending on its state.public SequenceIterator getReverseIterator()
getReverseIterator in interface ReversibleIterator