jgame.impl
Class SortedArray
java.lang.Object
jgame.impl.SortedArray
public class SortedArray
- extends java.lang.Object
Data structure that can be used as replacement for Hashtable<String>
for fast sorted enumeration of its elements. It can get and put like a
Hashtable. Get uses binary search, and is a little, but not much, slower
than Hashtable.get. Put and remove are expensive as they require shifting
the array (algorithm duration is linear wrt the array size). It is
possible to put or remove multiple elements at a time (using a second
SortedArray), which is faster.
Array enumeration is done by simply traversing the keys and/or values
array, which are filled with elements from 0 to size, exclusive. This is
about 10 times faster than using the Hashtable.getElements/getKeys
enumerators, and the elements are sorted (in ascending order).
SortedArray grows automatically to accommodate the required elements.
It starts with given initialcapacity and grows with increments
initialcapacity each time the capacity is exceeded.
Field Summary |
java.lang.String[] |
keys
|
int |
size
|
java.lang.Object[] |
values
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
size
public int size
keys
public java.lang.String[] keys
values
public java.lang.Object[] values
SortedArray
public SortedArray(int initialcapacity)
clear
public void clear()
put
public void put(SortedArray elem)
put
public void put(java.lang.String key,
java.lang.Object value)
remove
public void remove(java.lang.String key)
remove
public void remove(SortedArray elem)
get
public int get(java.lang.String key)
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
main
public static void main(java.lang.String[] args)
- test method