|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.tivoli.twg.libs.StringSortSet
Container for a set of object references, each of which has an associated String value. The set is sorted by the associated String values (ascending order). This set is optimized for searches and insertion/deletion operations. The class also supports optimized bulk insertion of values (which should be used instead of large numbers of single inserts). Note: the String values used for sorting do NOT have to be unique, although the objects associated with duplicate values will be ordered arbitrarily relative to each other.
Field Summary | |
---|---|
static long |
serialVersionUID
|
Constructor Summary | |
---|---|
StringSortSet()
Construtor for creating an initially empty set. |
|
StringSortSet(int init_size)
Constructor for creating an empty set with a given initial space allocation. |
|
StringSortSet(java.lang.String[] init_sort_values,
int start_sort_index,
java.lang.Object[] init_objects,
int start_obj_index,
int length)
Constructor for creating a set initialized with a given range within an array of integers. |
|
StringSortSet(StringSortSet init_set)
Constructor for creating a set initialized by another set |
Method Summary | |
---|---|
java.lang.Object[] |
AccessObjects()
Access internal array containing objects in set (read-only) |
java.lang.String[] |
AccessValues()
Access internal array containing sort values in set (read-only) |
void |
AddUpdate(java.lang.String val,
java.lang.Object obj)
Add a single value and object into the set if it does not exist or if the value exists update the Object associated with it. |
boolean |
equals(StringSortSet s1)
Compare the value of the StringSortSet with another StringSortSet |
int |
Find(java.lang.String val)
Return index of any value/object pair with given value, or -1 if not in set |
int |
Find(java.lang.String val,
java.lang.Object obj)
Return index of given value/object pair in set, or -1 if not in set Note: match requires that both values are equal |
java.lang.Object[] |
FindAll(java.lang.String val)
Return list of all objects which match given value in set |
java.lang.Object |
GetObject(int n)
Return nth object element of set |
java.lang.Object |
GetObject(java.lang.String val)
Return the object element of set associated with the given value |
java.lang.Object[] |
GetObjects()
Return array containing copy of all objects in set. |
java.lang.String |
GetValue(int n)
Return nth value element of set |
java.lang.String[] |
GetValues()
Return array containing copy of all sort values in set. |
void |
InsertArray(java.lang.String[] val,
int valstart,
java.lang.Object[] obj,
int objstart,
int length)
Insert an array of values into set. |
void |
InsertSet(StringSortSet insset)
Insert StringSortSet into set. |
void |
InsertValue(java.lang.String val,
java.lang.Object obj)
Insert a single value and object into the set. |
int |
Length()
Return length of set |
void |
MergeArray(java.lang.String[] val,
int valstart,
java.lang.Object[] obj,
int objstart,
int len)
Merge sorted value/object pair arrays into our values |
boolean |
RemoveArray(java.lang.String[] val,
int valstart,
java.lang.Object[] obj,
int objstart,
int length)
Remove an array of value/object pairs from set. |
void |
RemoveSet(StringSortSet remset)
Remove StringSortSet into set. |
void |
RemoveSortedArray(java.lang.String[] val,
int valstart,
java.lang.Object[] obj,
int objstart,
int len)
Remove sorted array of value/object pairs from current set |
boolean |
RemoveValue(java.lang.String val)
Remove all value/object pair from set with given value. |
boolean |
RemoveValue(java.lang.String val,
java.lang.Object obj)
Remove value/object pair from set, if present. |
void |
reset()
Empty the contents of the set. |
void |
setEqual(StringSortSet s1)
Set set contents equal to given set |
static void |
Sort(java.lang.String[] valset,
int valstart,
java.lang.Object[] objset,
int objstart,
int length)
Sort a given array of sort values and corresponding objects, using quicksort. |
void |
sortValues()
Sort values, if needed. |
static boolean |
TestIfSorted(java.lang.String[] valset,
int start,
int length)
Test if a range in an array is already sorted |
java.lang.String |
toString()
String representation method (for debug) |
void |
unsortedInsertValue(java.lang.String val,
java.lang.Object obj)
Unsorted insert : quick way to add value without causing incremental sort. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final long serialVersionUID
Constructor Detail |
public StringSortSet()
public StringSortSet(int init_size)
init_size
- - initial set space allocation (array size)public StringSortSet(java.lang.String[] init_sort_values, int start_sort_index, java.lang.Object[] init_objects, int start_obj_index, int length)
init_sort_values
- - array containing initial sort valuesstart_sort_index
- - index of start of sort valuesinit_objects
- - array containing objects to be sortedstart_obj_index
- - index of start of object to be sortedlength
- - number of valuespublic StringSortSet(StringSortSet init_set)
init_set
- - set to use for initializationMethod Detail |
public void InsertValue(java.lang.String val, java.lang.Object obj)
val
- - value to be insertedobj
- - object associated with valuepublic void unsortedInsertValue(java.lang.String val, java.lang.Object obj)
val
- - value to be insertedobj
- - object associated with valuepublic void sortValues()
public void AddUpdate(java.lang.String val, java.lang.Object obj)
val
- - value to be added/updatedobj
- - object associated with valuepublic void InsertArray(java.lang.String[] val, int valstart, java.lang.Object[] obj, int objstart, int length)
val
- - array of valuesvalstart
- - index of start of range of valuesobj
- - array of objectsobjstart
- - index of start of range of objectslength
- - length of range of values to be insertedpublic void InsertSet(StringSortSet insset)
insset
- - StringSortSet to be insertedpublic boolean RemoveValue(java.lang.String val, java.lang.Object obj)
val
- - sort value of record to be removedobj
- - object reference of object to be removed
public boolean RemoveValue(java.lang.String val)
val
- - sort value of record to be removed
public boolean RemoveArray(java.lang.String[] val, int valstart, java.lang.Object[] obj, int objstart, int length)
val
- - array of valuesvalstart
- - index of start of range of valuesobj
- - array of objectsobjstart
- - index of start of range of objectslength
- - length of range of values and objects to be removed
public void RemoveSet(StringSortSet remset)
remset
- - StringSortSet to be removedpublic final int Find(java.lang.String val, java.lang.Object obj)
val
- - value to be found in setobj
- - object reference to be found
public final int Find(java.lang.String val)
val
- - value to be found in set
public final java.lang.Object[] FindAll(java.lang.String val)
val
- - value to be found in set
public final int Length()
public final java.lang.String GetValue(int n) throws java.lang.ArrayIndexOutOfBoundsException
n
- - index (base 0) of element to be returned
java.lang.ArrayIndexOutOfBoundsException
- if invalid indexpublic final java.lang.Object GetObject(int n) throws java.lang.ArrayIndexOutOfBoundsException
n
- - index (base 0) of element to be returned
java.lang.ArrayIndexOutOfBoundsException
- if invalid indexpublic final java.lang.Object GetObject(java.lang.String val)
java.lang.ArrayIndexOutOfBoundsException
- if invalid indexpublic final java.lang.String[] GetValues()
public final java.lang.Object[] GetObjects()
public final java.lang.String[] AccessValues()
public final java.lang.Object[] AccessObjects()
public static final void Sort(java.lang.String[] valset, int valstart, java.lang.Object[] objset, int objstart, int length)
valset
- - Array to be sortedvalstart
- - index of start of data to be sortedobjset
- - Array of objects associated with valset valuesobjstart
- - index of start of objects in objsetlength
- - length of data to be sortedpublic static final boolean TestIfSorted(java.lang.String[] valset, int start, int length)
valset
- - array containing valuesstart
- - start of range to testlength
- - length of range to test
public void MergeArray(java.lang.String[] val, int valstart, java.lang.Object[] obj, int objstart, int len)
val
- - array of sort valuesvalstart
- - start index of sort values in arrayobj
- - array of objectsobjstart
- - start index of objects in arraylen
- - length of range in both arrayspublic void RemoveSortedArray(java.lang.String[] val, int valstart, java.lang.Object[] obj, int objstart, int len)
val
- - array of values to be removedvalstart
- - index of start of range of valuesobj
- - array of objects to be removedobjstart
- - index of start of range of objectslen
- - length of range in both arrayspublic boolean equals(StringSortSet s1)
s1
- - set to be compared with
public void reset()
public void setEqual(StringSortSet s1)
s1
- - set to be copiedpublic java.lang.String toString()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |