Class IdentityMap<K, V>
Object
A Map
which compares its keys using identity (==
) instead of equality (=
). Unlike HashMap
,
which requires its keys to implement the Key
interface, any type of object may be used as a key.
However, it is important that the key not be a subclass of Value
, as values do not have
well-defined identities and IdentityMap
will therefore not function properly with value keys.
- Source Code:
- View Source
Initializer Summary
init ()- Creates a new, empty
IdentityMap
.
Instance Method Summary
-- index operator --
[] (key :
):K V? - Returns the value mapped to the given key, or
null
if no such mapping exists. contains (key :
):K Bit - Returns
true
if the map contains the given key (even if the value it maps to isnull
) -- indexed assignment operator --
[]:= (key :
,K value :
)V - Inserts a new value or replaces an existing value.
remove (key :
)K - Removes the entry for
key
, if present. clear ()- Removes all entries from the list.
filterInPlace (test :
)(K, V)=>(Bit) - Removes all entries from the map for which
test
returnsfalse
.
Initializers
init
()
Creates a new, empty IdentityMap
.
Instance Methods
Returns the value mapped to the given key, or null
if no such mapping exists. If the map's
type permits null
values, this function does not distinguish between cases where the map does
not contain the given key, and cases where it does contain the key, but it maps to null
. The
contains
method can be used to disambiguate this situation.
- Parameters:
-
- value of typekey K
- Overrides:
- frost.collections.MapView.[]
Returns true
if the map contains the given key (even if the value it maps to is null
)
- Parameters:
-
- value of typekey K
- Overrides:
- frost.collections.MapView.contains
Inserts a new value or replaces an existing value.
- Overrides:
- frost.collections.MapWriter.[]:=
@override
method remove
(key :K
)
Removes the entry for key
, if present.
- Parameters:
-
- value of typekey K
- Overrides:
- frost.collections.MapWriter.remove
@override
method clear
()
Removes all entries from the list.
- Overrides:
- frost.collections.MapWriter.clear
@override
method filterInPlace
(test :(K, V)=>(Bit)
)
Removes all entries from the map for which test
returns false
.
- Parameters:
-
- value of typetest (K, V)=>(Bit)
- Overrides:
- frost.collections.MapWriter.filterInPlace