class haxe.ds.BalancedTree<K, V>

Available on all platforms

BalancedTree allows key-value mapping with arbitrary keys, as long as they can be ordered. By default, Reflect.compare is used in the compare method, which can be overridden in subclasses.

Operations have a logarithmic average and worst-case cost.

Iteration over keys and values, using keys and iterator respectively, are in-order.

Instance Fields

function new():Void

Creates a new BalancedTree, which is initially empty.

function exists(key:K):Bool

Tells if key is bound to a value.


This method returns true even if `key` is bound to null.

If `key` is null, the result is unspecified.

function get(key:K):Null<V>

Returns the value key is bound to.


If `key` is not bound to any value, `null` is returned.

If `key` is null, the result is unspecified.

function iterator():Iterator<V>

Iterates over the bound values of this BalancedTree.


This operation is performed in-order.

function keys():Iterator<K>

Iterates over the keys of this BalancedTree.


This operation is performed in-order.

function remove(key:K):Bool

Removes the current binding of key.


If `key` has no binding, `this` BalancedTree is unchanged and false is
returned.

Otherwise the binding of `key` is removed and true is returned.

If `key` is null, the result is unspecified.

function set(key:K, value:V):Void

Binds key to value.


If `key` is already bound to a value, that binding disappears.

If `key` is null, the result is unspecified.

function toString():String