Package ghidra.util
Class MultiComparableArrayIterator<T extends Comparable<T>>
java.lang.Object
ghidra.util.MultiComparableArrayIterator<T>
MultiComparableArrayIterator
takes multiple arrays of comparable
objects and iterates through them simultaneously. The arrays must contain objects
that are comparable within each array and between the multiple arrays.
All arrays must be sorted in ascending order when handed to this class.
Iterating returns the next object(s) from one or more of the arrays based on
the compareTo() of the next objects in each of the arrays. If a particular
array doesn't contain the next object, based on all arrays, then a null is
returned as the next object for that array.-
Constructor Summary
ConstructorDescriptionMultiComparableArrayIterator
(T[][] arrays) Constructor of a multi-comparable object array iterator for traversing multiple comparable object arrays simultaneously.MultiComparableArrayIterator
(T[][] arrays, boolean forward) Constructor of a multi comparable object array iterator for traversing multiple comparable object arrays simultaneously. -
Method Summary
-
Constructor Details
-
MultiComparableArrayIterator
Constructor of a multi-comparable object array iterator for traversing multiple comparable object arrays simultaneously.
Important: The items in each array must be in ascending order.- Parameters:
arrays
- the array of Comparable object arrays. Each array needs to be in ascending order.
-
MultiComparableArrayIterator
Constructor of a multi comparable object array iterator for traversing multiple comparable object arrays simultaneously.- Parameters:
arrays
- the array of Comparable object arrays. Each array needs to be in ascending order.forward
- true indicates that the iterator return comparable objects from min to max. false indicates to iterate backwards (from max to min).
-
-
Method Details
-
hasNext
public boolean hasNext()Determines whether or not any of the original arrays has a next object.- Returns:
- true if a next object can be obtained from any of the comparable object arrays.
-
next
Returns the next comparable object(s). The next object could be from any one or more of the arrays. The object array returned corresponds to the comparable arrays originally passed to the constructor. All objects returned are effectively the same as determined by the compareTo() method. If the next object for one of the original comparable arrays is not the same as the next overall object, then a null is returned in its place.- Returns:
- an array with the next object found for each of the original arrays. Some of these may be null, indicating the corresponding comparable array didn't possess the next object. However, that comparable array may still have objects on subsequent calls. There will be as many elements in this array as the number of comparable arrays passed to the constructor.
-