Class ObjectArrayIterator<E>
java.lang.Object
org.apache.logging.log4j.core.util.ObjectArrayIterator<E>
- Type Parameters:
E- the type to iterate over
- All Implemented Interfaces:
Iterator<E>
An
Iterator over an array of objects.
This iterator does not support remove(), as the object array cannot be
structurally modified.
The iterator implements a reset() method, allowing the reset of the iterator
back to the start if required.
- Since:
- 3.0
- Version:
- $Id: ObjectArrayIterator.java 1734648 2016-03-11 23:51:22Z ggregory $
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final E[]The array(package private) final intThe end index to loop to(package private) intThe current iterator index(package private) final intThe start index to loop from -
Constructor Summary
ConstructorsConstructorDescriptionObjectArrayIterator(E... array) Constructs an ObjectArrayIterator that will iterate over the values in the specified array.ObjectArrayIterator(E[] array, int start) Constructs an ObjectArrayIterator that will iterate over the values in the specified array from a specific start index.ObjectArrayIterator(E[] array, int start, int end) Construct an ObjectArrayIterator that will iterate over a range of values in the specified array. -
Method Summary
Modifier and TypeMethodDescriptionE[]getArray()Gets the array that this iterator is iterating over.intGets the end index to loop to.intGets the start index to loop from.booleanhasNext()Returns true if there are more elements to return from the array.next()Returns the next element in the array.voidremove()ThrowsUnsupportedOperationException.voidreset()Resets the iterator back to the start index.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
-
Field Details
-
array
The array -
startIndex
final int startIndexThe start index to loop from -
endIndex
final int endIndexThe end index to loop to -
index
int indexThe current iterator index
-
-
Constructor Details
-
ObjectArrayIterator
Constructs an ObjectArrayIterator that will iterate over the values in the specified array.- Parameters:
array- the array to iterate over- Throws:
NullPointerException- ifarrayisnull
-
ObjectArrayIterator
Constructs an ObjectArrayIterator that will iterate over the values in the specified array from a specific start index.- Parameters:
array- the array to iterate overstart- the index to start iterating at- Throws:
NullPointerException- ifarrayisnullIndexOutOfBoundsException- if the start index is out of bounds
-
ObjectArrayIterator
Construct an ObjectArrayIterator that will iterate over a range of values in the specified array.- Parameters:
array- the array to iterate overstart- the index to start iterating atend- the index (exclusive) to finish iterating at- Throws:
IndexOutOfBoundsException- if the start or end index is out of boundsIllegalArgumentException- if end index is before the startNullPointerException- ifarrayisnull
-
-
Method Details
-
hasNext
public boolean hasNext()Returns true if there are more elements to return from the array. -
next
Returns the next element in the array.- Specified by:
nextin interfaceIterator<E>- Returns:
- the next element in the array
- Throws:
NoSuchElementException- if all the elements in the array have already been returned
-
remove
public void remove()ThrowsUnsupportedOperationException.- Specified by:
removein interfaceIterator<E>- Throws:
UnsupportedOperationException- always
-
getArray
Gets the array that this iterator is iterating over.- Returns:
- the array this iterator iterates over
-
getStartIndex
public int getStartIndex()Gets the start index to loop from.- Returns:
- the start index
-
getEndIndex
public int getEndIndex()Gets the end index to loop to.- Returns:
- the end index
-
reset
public void reset()Resets the iterator back to the start index.
-