
The Map object is a simple key/value pair. Keys and values in a map may be of any type. A Map is a dynamic collection. In other words, Maps can grow and shrink at runtime.
Maps can be declared in two ways −
To declare a map using map literals, you need to enclose the key-value pairs within a pair of curly brackets "{ }".
Here is its syntax −
var identifier = { key1:value1, key2:value2 [,…..,key_n:value_n] }
To declare a Map using a Map constructor, we have two steps. First, declare the map and second, initialize the map.
The syntax to declare a map is as follows −
var identifier = new Map()
Now, use the following syntax to initialize the map −
map_name[key] = value
void main() { 
   var details = {'Usrname':'tom','Password':'pass@123'}; 
   print(details); 
}
It will produce the following output −
{Usrname: tom, Password: pass@123}
void main() { 
   var details = {'Usrname':'tom','Password':'pass@123'}; 
   details['Uid'] = 'U1oo1'; 
   print(details); 
} 
It will produce the following output −
{Usrname: tom, Password: pass@123, Uid: U1oo1}
void main() { 
   var details = new Map(); 
   details['Usrname'] = 'admin'; 
   details['Password'] = 'admin@123'; 
   print(details); 
} 
It will produce the following output −
{Usrname: admin, Password: admin@123}
Note − A map value can be any object including NULL.
The Map class in the dart:core package defines the following properties −
| Sr.No | Property & Description | 
|---|---|
| 1 | Keys
 Returns an iterable object representing keys  | 
| 2 | Values
 Returns an iterable object representing values  | 
| 3 | Length
 Returns the size of the Map  | 
| 4 | isEmpty
 Returns true if the Map is an empty Map  | 
| 5 | isNotEmpty
 Returns true if the Map is an empty Map  | 
Following are the commonly used functions for manipulating Maps in Dart.
| Sr.No | Function Name & Description | 
|---|---|
| 1 | 
addAll()
 Adds all key-value pairs of other to this map.  | 
| 2 | 
clear()
 Removes all pairs from the map.  | 
| 3 | 
remove()
 Removes key and its associated value, if present, from the map.  | 
| 4 | 
forEach()
 Applies f to each key-value pair of the map.  |