Map allows key to value mapping for arbitrary value types, and many key types.
This is a multi-type abstract, it is instantiated as one of its specialization types depending on its type parameters.
A Map can be instantiated without explicit type parameters. Type inference will then determine the type parameters from the usage.
Maps can also be created with key1 => value1, key2 => value2 syntax.
Map is an abstract type, it is not available at runtime.
See also:
Constructor
new()
Creates a new Map.
This becomes a constructor call to one of the specialization types in the output. The rules for that are as follows:
- if K is a
String,haxe.ds.StringMapis used - if K is an
Int,haxe.ds.IntMapis used - if K is an
EnumValue,haxe.ds.EnumValueMapis used - if K is any other class or structure,
haxe.ds.ObjectMapis used - if K is any other type, it causes a compile-time error
(Cpp) Map does not use weak keys on ObjectMap by default.
Methods
inlineexists(key:K):Bool
Returns true if key has a mapping, false otherwise.
If key is null, the result is unspecified.
inlineget(key:K):Null<V>
Returns the current mapping of key.
If no such mapping exists, null is returned.
Note that a check like map.get(key) == null can hold for two reasons:
- the map has no mapping for
key - the map has a mapping with a value of
null
If it is important to distinguish these cases, exists() should be
used.
If key is null, the result is unspecified.
inlineiterator():Iterator<V>
Returns an Iterator over the values of this Map.
The order of values is undefined.
inlinekeys():Iterator<K>
Returns an Iterator over the keys of this Map.
The order of keys is undefined.
inlineremove(key:K):Bool
Removes the mapping of key and returns true if such a mapping existed,
false otherwise.
If key is null, the result is unspecified.