|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.jcs.utils.struct.SortedPreferentialArray<T>
public class SortedPreferentialArray<T extends Comparable<? super T>>
This maintains a sorted array with a preferential replacement policy when full.
Insertion time is n, search is log(n)
Clients must manage thread safety on previous version. I synchronized the public methods to add easy thread safety. I synchronized all public methods that make modifications.
| Constructor Summary | |
|---|---|
SortedPreferentialArray(int maxSize)
Construct the array with the maximum size. |
|
| Method Summary | |
|---|---|
void |
add(T obj)
If the array is full this will remove the smallest if preferLarge==true and if obj is bigger, or the largest if preferLarge=false and obj is smaller than the largest. |
protected String |
dumpArray()
Debugging method to return a human readable display of array data. |
T |
getLargest()
Returns the largest without removing it from the array. |
T |
getSmallest()
Returns the smallest element without removing it from the array. |
void |
setPreferLarge(boolean pref)
Determines whether the preference is for large or small. |
int |
size()
Returns the current size of the array. |
T |
takeNearestLargerOrEqual(T obj)
Returns and removes the nearer larger or equal object from the aray. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SortedPreferentialArray(int maxSize)
maxSize - int| Method Detail |
|---|
public void add(T obj)
obj - Objectpublic T getLargest()
public T getSmallest()
public void setPreferLarge(boolean pref)
pref - booleanpublic T takeNearestLargerOrEqual(T obj)
obj - Comparable
public int size()
protected String dumpArray()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||