# Io Reference

Core / Core / Map

|  | A key/value dictionary appropriate for holding large key/value collections.

asFormEncodedBody

Returns a urlencoded query string representation of this map
asJson

Converts a Map to a string that represents contents in JSON-compilant form
asList

Converts a Map to a list of lists. Each element in the returned list will be a list of two elements: the key, and the value.
asObject

Create a new Object whose slotDescriptionMap will be equal to self
asQueryString

Returns a urlencoded query string representation of this map
at(keyString, optionalDefaultValue)

Returns the value for the key keyString. Returns nil if the key is absent.
atIfAbsentPut(keyString, aValue)

If a value is present at the specified key, the value is returned. Otherwise, inserts/sets aValue and returns aValue.
atPut(keyString, aValue)

Inserts/sets aValue with the key keyString. Returns self.
detect(optionalIndex, optionalValue, message)

Returns a random value for which message evals to non-nil.
empty

Removes all keys from the receiver. Returns self.
foreach(optionalKey, value, message)

For each key value pair, sets the locals key to the key and value to the value and executes message. Example:

    	aMap foreach(k, v, writeln(k, " = ", v))
    aMap foreach(v, write(v))

Example use with a block:

    	myBlock = block(k, v, write(k, " = ", v, "\n"))
    aMap foreach(k, v, myBlock(k, v))

hasKey(keyString)

Returns true if the key is present or false otherwise.
hasValue(aValue)

Returns true if the value is one of the Map's values or false otherwise.
isEmpty

returns true if this map doesn't contain any pairs.
isNotEmpty

returns true if this map contains at least one pair.
justSerialized(stream)

Writes the receiver's code into the stream.
keys

Returns a List of the receivers keys.
map(key, value, message)

Create a List of results of message applied to self's items in a random order.
merge(anotherMap)

Returns a new map created by merging the pairs from anotherMap into this map
mergeInPlace(anotherMap)

Merges the pairs from anotherMap into this map
removeAt(keyString)

Removes the specified keyString if present. Returns self.
reverseMap

Create a new Map using values as keys and keys as values
select(optionalIndex, optionalValue, message)

Create a new Map with keys,values of self for which message evaluated to non-nil.
size

Returns the number of key/value pairs in the receiver.
values

Returns a List of the receivers values.
with(key1, value1, key2, value2, ...)

Returns a new map containing the given keys and values