In Dart programming, Maps are dictionary-like data types that exist in key-value form (known as lock-key). There is no restriction on the type of data that goes in a map data type. Maps are very flexible and can mutate their size based on the requirements. However, it is important to note that all locks (keys) need to be unique inside a map data type.
We can declare Map in two ways:
- Using Map Literals
- Using Map Constructors
Map Literals:
Map can be declared using map literals as shown below:
Syntax: // Creating the Map using Map Literals var map_name = { key1 : value1, key2 : value2, ..., key n : value n }
Example 1:
Creating Map using Map Literals
void main() {
// Creating Map using is literals
var gfg = { 'position1' : 'Geek' , 'position2' : 'for' , 'position3' : 'Geeks' };
// Printing Its content
print(gfg);
// Printing Specific Content
// Key is defined
print(gfg[ 'position1' ]);
// Key is not defined
print(gfg[0]);
} |
Output:
{position1: Geek, position2: for, position3: Geeks} Geek null
Example 2:
void main() {
// Creating Map using is literals
var gfg = { 'position1' : 'Geek' 'for' 'Geeks' };
// Printing Its content
print(gfg);
// Printing Specific Content
// Key is defined
print(gfg[ 'position1' ]);
} |
Output:
{position1: GeekforGeeks} GeekforGeeks
You have noticed that different strings get concatenated to one.
Example 3:
Inserting a new value into Map
void main() {
// Creating Map
var gfg = { 'position1' : 'Geeks' 'for' 'Geeks' };
// Printing Its content before insertion
print(gfg);
// Inserting a new value in Map
gfg [ 'position0' ] = 'Welcome to ' ;
// Printing Its content after insertion
print(gfg);
// Printing Specific Content
// Keys is defined
print(gfg[ 'position0' ] + gfg[ 'position1' ]);
} |
Output:
{position1: GeeksforGeeks} {position1: GeeksforGeeks, position0: Welcome to } Welcome to GeeksforGeeks
Map Constructors:
Syntax: // Creating the Map using Map Constructor var map_name = new Map(); // Assigning value and key inside Map map_name [ key ] = value;
Example 1:
Creating Map using Map Constructors
void main() {
// Creating Map using Constructors
var gfg = new Map();
// Inserting values into Map
gfg [0] = 'Geeks' ;
gfg [1] = 'for' ;
gfg [2] = 'Geeks' ;
// Printing Its content
print(gfg);
// Printing Specific Content
// Key is defined
print(gfg[0]);
} |
Output:
{0: Geeks, 1: for, 2: Geeks} Geeks
Example 2:
Assigning same key to different element
void main() {
// Creating Map using Constructors
var gfg = new Map();
// Inserting values into Map
gfg [0] = 'Geeks' ;
gfg [0] = 'for' ;
gfg [0] = 'Geeks' ;
// Printing Its content
print(gfg);
// Printing Specific Content
// Key is defined
print(gfg[0]);
} |
Output:
{0: Geeks} Geeks
You have noticed that the other two values were simply ignored.