Dart| Flutter How to: Create an Empty Map
This tutorial shows multiple ways to create an empty Map in Dart or Flutter
An empty Map is a Map data structure that lacks a key and value pair of elements, and a Map has a length of zero.
In Flutter, an API or service method may return an empty Map instead of a null to improve null safety handling.
How to create an Empty Map in Flutter or dart?
An empty Map can be created in multiple ways.
- using type and brackets
You can create a variable for any class using type and brackets()
in dart
Map map = Map();
print(map.length); //0
print(map.runtimeType); //JsLinkedHashMap<dynamic, dynamic>
or you can use the new keyword to create a variable for the map
Map map = new Map();
print(map.length); //0
print(map.runtimeType); //JsLinkedHashMap<dynamic, dynamic>
The above codes create an empty map and return Map. length
as zero(0)
It is an empty map without type safety and the default type is Map<dynamic, dynamic>
.
How do you create a typed Map?
Map<String,String> map = Map<String,String>();
print(map.length); //0
print(map.runtimeType); //JsLinkedHashMap<String, String>
- using empty literal syntax
Create a variable and assign the with empty literal using []
syntax.
Map map = {};
print(map.length); //0
print(map.runtimeType); //JsLinkedHashMap<dynamic, dynamic>
}
To create a typed version of the empty literal syntax This creates an empty array typed map without elements.
Map<int,String> map = <int,String>{};
print(map.length); //0
print(map.runtimeType); //JsLinkedHashMap<int, String>
or you can also use empty literal without type, but the variable type is typed.
Map<int,String> map = {};
print(map.length); //0
print(map.runtimeType); //JsLinkedHashMap<dynamic, dynamic>
How to Create an Empty Map of objects in a flutter
The fourth way is, Create an Empty Object Map
Here is an example code for multiple ways to create a Map of objects create a class of employees and create a Map empty object using var emps = <int, Employee>[];
class Employee {
final int id;
final String name;
final int salary;
final DateTime joinDate;
Employee(this.id, this.name, this.salary, this.joinDate);
}
void main() {
Map<int, Employee> emps1 = new Map<int, Employee>();
print(emps1.length); //0
print(emps1.runtimeType); //JsLinkedHashMap<dynamic, dynamic>
Map<int, Employee> emps2 = <int, Employee>{};
print(emps2.length); //0
print(emps2.runtimeType); //JsLinkedHashMap<int, Employee>
Map<int, Employee> emps3 = {};
print(emps3.length); //0
print(emps3.runtimeType); //JsLinkedHashMap<int, Employee>
}
Conclusion
This tutorial explains multiple ways to create an empty Map with int, string, and objects.