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