Package org.apache.lucene.util
Class RadixSelector
- java.lang.Object
-
- org.apache.lucene.util.Selector
-
- org.apache.lucene.util.RadixSelector
-
public abstract class RadixSelector extends Selector
Radix selector.This implementation works similarly to a MSB radix sort except that it only recurses into the sub partition that contains the desired value.
- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
RadixSelector(int maxLength)
Sole constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract int
byteAt(int i, int k)
Return the k-th byte of the entry at indexi
, or-1
if its length is less than or equal tok
.protected Selector
getFallbackSelector(int d)
Get a fall-back selector which may assume that the firstd
bytes of all compared strings are equal.void
select(int from, int to, int k)
Reorder elements so that the element at positionk
is the same as if all elements were sorted and all other elements are partitioned around it:[from, k)
only contains elements that are less than or equal tok
and(k, to)
only contains elements that are greater than or equal tok
.
-
-
-
Constructor Detail
-
RadixSelector
protected RadixSelector(int maxLength)
Sole constructor.- Parameters:
maxLength
- the maximum length of keys, passInteger.MAX_VALUE
if unknown.
-
-
Method Detail
-
byteAt
protected abstract int byteAt(int i, int k)
Return the k-th byte of the entry at indexi
, or-1
if its length is less than or equal tok
. This may only be called with a value ofk
between0
included andmaxLength
excluded.
-
getFallbackSelector
protected Selector getFallbackSelector(int d)
Get a fall-back selector which may assume that the firstd
bytes of all compared strings are equal. This fallback selector is used when the range becomes narrow or when the maximum level of recursion has been exceeded.
-
select
public void select(int from, int to, int k)
Description copied from class:Selector
Reorder elements so that the element at positionk
is the same as if all elements were sorted and all other elements are partitioned around it:[from, k)
only contains elements that are less than or equal tok
and(k, to)
only contains elements that are greater than or equal tok
.
-
-