Interface ShuffleOrder
-
- All Known Implementing Classes:
FakeShuffleOrder,ShuffleOrder.DefaultShuffleOrder,ShuffleOrder.UnshuffledShuffleOrder
public interface ShuffleOrderShuffled order of indices.The shuffle order must be immutable to ensure thread safety.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classShuffleOrder.DefaultShuffleOrderThe defaultShuffleOrderimplementation for random shuffle order.static classShuffleOrder.UnshuffledShuffleOrderAShuffleOrderimplementation which does not shuffle.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ShuffleOrdercloneAndClear()Returns a copy of the shuffle order with all elements removed.ShuffleOrdercloneAndInsert(int insertionIndex, int insertionCount)Returns a copy of the shuffle order with newly inserted elements.ShuffleOrdercloneAndRemove(int indexFrom, int indexToExclusive)Returns a copy of the shuffle order with a range of elements removed.intgetFirstIndex()Returns the first index in the shuffle order, orC.INDEX_UNSETif the shuffle order is empty.intgetLastIndex()Returns the last index in the shuffle order, orC.INDEX_UNSETif the shuffle order is empty.intgetLength()Returns length of shuffle order.intgetNextIndex(int index)Returns the next index in the shuffle order.intgetPreviousIndex(int index)Returns the previous index in the shuffle order.
-
-
-
Method Detail
-
getLength
int getLength()
Returns length of shuffle order.
-
getNextIndex
int getNextIndex(int index)
Returns the next index in the shuffle order.- Parameters:
index- An index.- Returns:
- The index after
index, orC.INDEX_UNSETifindexis the last element.
-
getPreviousIndex
int getPreviousIndex(int index)
Returns the previous index in the shuffle order.- Parameters:
index- An index.- Returns:
- The index before
index, orC.INDEX_UNSETifindexis the first element.
-
getLastIndex
int getLastIndex()
Returns the last index in the shuffle order, orC.INDEX_UNSETif the shuffle order is empty.
-
getFirstIndex
int getFirstIndex()
Returns the first index in the shuffle order, orC.INDEX_UNSETif the shuffle order is empty.
-
cloneAndInsert
ShuffleOrder cloneAndInsert(int insertionIndex, int insertionCount)
Returns a copy of the shuffle order with newly inserted elements.- Parameters:
insertionIndex- The index in the unshuffled order at which elements are inserted.insertionCount- The number of elements inserted atinsertionIndex.- Returns:
- A copy of this
ShuffleOrderwith newly inserted elements.
-
cloneAndRemove
ShuffleOrder cloneAndRemove(int indexFrom, int indexToExclusive)
Returns a copy of the shuffle order with a range of elements removed.- Parameters:
indexFrom- The starting index in the unshuffled order of the range to remove.indexToExclusive- The smallest index (must be greater or equal toindexFrom) that will not be removed.- Returns:
- A copy of this
ShuffleOrderwithout the elements in the removed range.
-
cloneAndClear
ShuffleOrder cloneAndClear()
Returns a copy of the shuffle order with all elements removed.
-
-