Implements a standard sortable map using black/red trees.
|
Public Member Functions |
| TreeMap (IN(RComparator) comp=Nil) |
| TreeMap (IN(RMap) map) |
| TreeMap (IN(RSortedMap) sortedMap) |
virtual void | clear () |
virtual acdk::lang::Object | clone () |
virtual acdk::lang::Object | clone (sys::Allocator *alc) |
virtual RComparator | comparator () |
virtual bool | containsKey (IN(acdk::lang::Object) key) |
virtual bool | containsValue (IN(acdk::lang::Object) val) |
virtual RSet | entrySet () |
virtual acdk::lang::Object | firstKey () |
virtual acdk::lang::Object | get (IN(acdk::lang::Object) key) |
virtual RSortedMap | headMap (IN(acdk::lang::Object) key) |
virtual RSet | keySet () |
virtual acdk::lang::Object | lastKey () |
virtual acdk::lang::Object | put (IN(acdk::lang::Object) key, IN(acdk::lang::Object) val) |
virtual void | putAll (IN(RMap) map) |
virtual acdk::lang::Object | remove (IN(acdk::lang::Object) key) |
virtual int | size () |
virtual RSortedMap | subMap (IN(acdk::lang::Object) from, IN(acdk::lang::Object) to) |
virtual RSortedMap | tailMap (IN(acdk::lang::Object) from) |
virtual RCollection | values () |
virtual bool | equals (IN(acdk::lang::Object) other) |
| Normally check for equality (not identity) Object::equals() is true only if both objects are the same instance.
|
virtual int | hashCode () |
virtual bool | isEmpty () |
Static Public Member Functions |
acdk::lang::Object | create_instance () |
Protected Member Functions |
void | putAllLinear (IN(RMapEntryArray) entries) |
Static Private Member Functions |
RRedBlackNode | buildTree (IN(RMapEntryArray) entries, int height, bool completed, int currentTier, int start, int end, acdk::lang::sys::Allocator *alloc) |
int | compare (IN(RComparator) comp, IN(acdk::lang::Object) o1, IN(acdk::lang::Object) o2) |
bool | keyInMinRange (IN(RComparator) comp, IN(acdk::lang::Object) key, IN(acdk::lang::Object) minKey) |
bool | keyInMaxRange (IN(RComparator) comp, IN(acdk::lang::Object) key, IN(acdk::lang::Object) maxKey) |
bool | keyInClosedMaxRange (IN(RComparator) comp, IN(acdk::lang::Object) key, IN(acdk::lang::Object) maxKey) |
bool | keyInRange (IN(RComparator) comp, IN(acdk::lang::Object) key, IN(acdk::lang::Object) minKey, IN(acdk::lang::Object) maxKey) |
bool | keyInClosedRange (IN(RComparator) comp, IN(acdk::lang::Object) key, IN(acdk::lang::Object) minKey, IN(acdk::lang::Object) maxKey) |
RRedBlackNode | treeSearch (IN(RRedBlackNode) root, IN(RComparator) comp, IN(acdk::lang::Object) key) |
RRedBlackNode | treeMin (IN(RRedBlackNode) root) |
RRedBlackNode | treeMinConstrained (IN(RRedBlackNode) root, IN(RComparator) comp, IN(acdk::lang::Object) minKey, IN(acdk::lang::Object) maxKey) |
RRedBlackNode | treeMax (IN(RRedBlackNode) root) |
RRedBlackNode | treeMaxConstrained (IN(RRedBlackNode) root, IN(RComparator) comp, IN(acdk::lang::Object) minKey, IN(acdk::lang::Object) maxKey) |
RRedBlackNode | lowerBound (IN(RRedBlackNode) root, IN(RComparator) comp, IN(acdk::lang::Object) minKey, IN(acdk::lang::Object) maxKey) |
RRedBlackNode | upperBound (RRedBlackNode root, RComparator comp, acdk::lang::Object minKey, acdk::lang::Object maxKey) |
RRedBlackNode | treeSuccessor (IN(RRedBlackNode) nod) |
RRedBlackNode | treePredecessor (IN(RRedBlackNode) nod) |
RRedBlackNode | treeInsert (IN(RTreeMap) tree, IN(RComparator) comp, IN(RRedBlackNode) newNode, acdk::lang::sys::Allocator *alloc) |
void | leftRotate (IN(RTreeMap) tree, IN(RRedBlackNode) nod) |
void | rightRotate (IN(RTreeMap) tree, IN(RRedBlackNode) nod) |
RRedBlackNode | rbInsert (IN(RTreeMap) tree, IN(RComparator) comp, IN(RRedBlackNode) nod) |
RRedBlackNode | rbDelete (IN(RTreeMap) tree, IN(RRedBlackNode) nod, acdk::lang::sys::Allocator *alloc) |
void | rbDeleteFixup (IN(RTreeMap) tree, IN(RRedBlackNode) nod) |
RRedBlackNode | nilNode () |
Private Attributes |
RRedBlackNode | _root |
int | _size |
RComparator | _comparator |
int | _modCount |
Friends |
class | TreeMapIterator |
class | SubTreeMap |
class | TreeMapSetIterator |
class | TreeSet |