Package org.apache.lucene.util
Class ArrayIntroSorter<T>
- java.lang.Object
-
- org.apache.lucene.util.Sorter
-
- org.apache.lucene.util.IntroSorter
-
- org.apache.lucene.util.ArrayIntroSorter<T>
-
final class ArrayIntroSorter<T> extends IntroSorter
AnIntroSorter
for object arrays.
-
-
Field Summary
Fields Modifier and Type Field Description private T[]
arr
private java.util.Comparator<? super T>
comparator
private T
pivot
-
Fields inherited from class org.apache.lucene.util.Sorter
BINARY_SORT_THRESHOLD
-
-
Constructor Summary
Constructors Constructor Description ArrayIntroSorter(T[] arr, java.util.Comparator<? super T> comparator)
Create a newArrayInPlaceMergeSorter
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
compare(int i, int j)
Compare entries found in slotsi
andj
.protected int
comparePivot(int i)
Compare the pivot with the slot atj
, similarly tocompare(i, j)
.protected void
setPivot(int i)
Save the value at sloti
so that it can later be used as a pivot, seeSorter.comparePivot(int)
.protected void
swap(int i, int j)
Swap values at slotsi
andj
.-
Methods inherited from class org.apache.lucene.util.IntroSorter
quicksort, sort
-
Methods inherited from class org.apache.lucene.util.Sorter
binarySort, binarySort, checkRange, doRotate, heapChild, heapify, heapParent, heapSort, lower, lower2, mergeInPlace, reverse, rotate, siftDown, upper, upper2
-
-
-
-
Constructor Detail
-
ArrayIntroSorter
public ArrayIntroSorter(T[] arr, java.util.Comparator<? super T> comparator)
Create a newArrayInPlaceMergeSorter
.
-
-
Method Detail
-
compare
protected int compare(int i, int j)
Description copied from class:Sorter
Compare entries found in slotsi
andj
. The contract for the returned value is the same asComparator.compare(Object, Object)
.- Overrides:
compare
in classIntroSorter
-
swap
protected void swap(int i, int j)
Description copied from class:Sorter
Swap values at slotsi
andj
.
-
setPivot
protected void setPivot(int i)
Description copied from class:Sorter
Save the value at sloti
so that it can later be used as a pivot, seeSorter.comparePivot(int)
.- Specified by:
setPivot
in classIntroSorter
-
comparePivot
protected int comparePivot(int i)
Description copied from class:Sorter
Compare the pivot with the slot atj
, similarly tocompare(i, j)
.- Specified by:
comparePivot
in classIntroSorter
-
-