Class Rank<T>
java.lang.Object
org.apache.jackrabbit.commons.flat.Rank<T>
- Type Parameters:
T- Type of values in thisRank.
This class does efficient ranking of values of type T wrt. to a
Comparator for T. After creating an instance of
Rank, the take(int) method returns the next
k smallest values. That is, each of these values is smaller than
every value not yet retrieved. The order of the values returned by
take is not specified in general. However if the values are in
increasing order, the values returned by take will also be in
increasing order.
Note: The values may not contain duplicates or the behavior
of take is not defined.
-
Constructor Summary
ConstructorsConstructorDescriptionRank(Collection<T> values, Class<T> componentType, Comparator<? super T> order) Create a new instance ofRankfor a given collection ofvaluesand a givenorder.Create a new instance ofRankfor the firstcountvalues in a a given iterator ofvaluesand a givenorder.Rank(T[] values, Comparator<? super T> order) Create a new instance ofRankfor a given array ofvaluesand a givenorder. -
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends Comparable<T>>
Comparator<T> Comparator<? super T> getOrder()static <S extends Comparable<S>>
Rank<S> rank(Collection<S> values, Class<S> componentType) Create a new instance ofRankfor a given collection ofvalues.static <S extends Comparable<S>>
Rank<S> Create a new instance ofRankfor the firstcountvalues in a a given iterator ofvalues.static <S extends Comparable<S>>
Rank<S> rank(S[] values) Create a new instance ofRankfor a given array ofvalues.intsize()Returns the number of remaining items in theRank.take(int n) Returns then-th smallest values remaining in thisRank.
-
Constructor Details
-
Rank
Create a new instance ofRankfor a given array ofvaluesand a givenorder. Thevaluesare manipulated in place, no copying is performed.- Parameters:
values- values for ranking. Duplicates are not allowed.order- Ordering for ranking
-
Rank
Create a new instance ofRankfor a given collection ofvaluesand a givenorder. Thevaluesare copied into an internal array before they are manipulated.- Parameters:
values- values for ranking. Duplicates are not allowed.componentType- type evidence for the valuesorder- Ordering for ranking
-
Rank
Create a new instance ofRankfor the firstcountvalues in a a given iterator ofvaluesand a givenorder. Thevaluesare copied into an internal array before they are manipulated.- Parameters:
values- values for ranking. Duplicates are not allowed.componentType- type evidence for the valuescount- Number of items to include. -1 for all.order- Ordering for ranking
-
-
Method Details
-
rank
Create a new instance ofRankfor a given array ofvalues. The order is determined by the natural ordering of the values (i.e. throughComparable). Thevaluesare manipulated in place, no copying is performed.- Type Parameters:
S- extends Comparable<S>- Parameters:
values- values for ranking. Duplicates are not allowed.- Returns:
- A new instance of
Rank.
-
rank
Create a new instance ofRankfor a given collection ofvalues. The order is determined by the natural ordering of the values (i.e. throughComparable). Thevaluesare copied into an internal array before they are manipulated.- Type Parameters:
S- extends Comparable<S>- Parameters:
values- values for ranking. Duplicates are not allowed.componentType- type evidence for the values- Returns:
- A new instance of
Rank.
-
rank
public static <S extends Comparable<S>> Rank<S> rank(Iterator<S> values, Class<S> componentType, int count) Create a new instance ofRankfor the firstcountvalues in a a given iterator ofvalues. The order is determined by the natural ordering of the values (i.e. throughComparable). Thevaluesare copied into an internal array before they are manipulated.- Type Parameters:
S- extends Comparable<S>- Parameters:
values- values for ranking. Duplicates are not allowed.componentType- type evidence for the valuescount- Number of items to include. -1 for all.- Returns:
- A new instance of
Rank.
-
comparableComparator
- Type Parameters:
T- extends Comparable<T>- Returns:
- Comparator whose order is defined by
T.
-
getOrder
-
take
Returns then-th smallest values remaining in thisRank.- Parameters:
n- Number of values to return- Returns:
- An iterator containing the next
nsmallest values. - Throws:
NoSuchElementException- if thisRankhas not enough remaining elements or whennis negative.
-
size
public int size()Returns the number of remaining items in theRank.- Returns:
- number of remaining items.
-