java.lang.Object
org.apache.lucene.util.Sorter
org.apache.lucene.util.TimSorter
org.apache.lucene.util.ArrayTimSorter<T>
A
TimSorter for object arrays.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final T[]private final Comparator<? super T> private final T[]Fields inherited from class org.apache.lucene.util.TimSorter
maxTempSlots, MIN_GALLOP, minRun, MINRUN, runEnds, stackSize, STACKSIZE, THRESHOLD, toFields inherited from class org.apache.lucene.util.Sorter
BINARY_SORT_THRESHOLD, INSERTION_SORT_THRESHOLD -
Constructor Summary
ConstructorsConstructorDescriptionArrayTimSorter(T[] arr, Comparator<? super T> comparator, int maxTempSlots) Create a newArrayTimSorter. -
Method Summary
Modifier and TypeMethodDescriptionprotected intcompare(int i, int j) Compare entries found in slotsiandj.protected intcompareSaved(int i, int j) Compare elementifrom the temporary storage with elementjfrom the slice to sort, similarly toSorter.compare(int, int).protected voidcopy(int src, int dest) Copy data from slotsrcto slotdest.protected voidrestore(int src, int dest) Restore elementjfrom the temporary storage into sloti.protected voidsave(int start, int len) Save all elements between slotsiandi+leninto the temporary storage.protected voidswap(int i, int j) Swap values at slotsiandj.Methods inherited from class org.apache.lucene.util.TimSorter
doRotate, ensureInvariants, exhaustStack, lowerSaved, lowerSaved3, merge, mergeAt, mergeHi, mergeLo, minRun, nextRun, pushRunLen, reset, runBase, runEnd, runLen, setRunEnd, sort, upperSaved, upperSaved3Methods inherited from class org.apache.lucene.util.Sorter
binarySort, binarySort, checkRange, comparePivot, heapChild, heapify, heapParent, heapSort, insertionSort, lower, lower2, mergeInPlace, reverse, rotate, setPivot, siftDown, upper, upper2
-
Field Details
-
comparator
-
arr
-
tmp
-
-
Constructor Details
-
ArrayTimSorter
Create a newArrayTimSorter.
-
-
Method Details
-
compare
protected int compare(int i, int j) Description copied from class:SorterCompare entries found in slotsiandj. The contract for the returned value is the same asComparator.compare(Object, Object). -
swap
protected void swap(int i, int j) Description copied from class:SorterSwap values at slotsiandj. -
copy
protected void copy(int src, int dest) Description copied from class:TimSorterCopy data from slotsrcto slotdest. -
save
protected void save(int start, int len) Description copied from class:TimSorterSave all elements between slotsiandi+leninto the temporary storage. -
restore
protected void restore(int src, int dest) Description copied from class:TimSorterRestore elementjfrom the temporary storage into sloti. -
compareSaved
protected int compareSaved(int i, int j) Description copied from class:TimSorterCompare elementifrom the temporary storage with elementjfrom the slice to sort, similarly toSorter.compare(int, int).- Specified by:
compareSavedin classTimSorter
-