Dart| Flutter How to: Create an Empty Set
This tutorial shows multiple ways to create an empty Set in Dart or Flutter
An empty Set is a Set data structure that contains no elements, and a Set has a length of zero.
In Flutter, an API or service method may return an empty set instead of a null to improve null safety handling.
How to create an Empty Set in Flutter or dart?
An empty Set
can be created in multiple ways.
- using type and brackets
Normally, a Variable of type can be created using type and brackets()
and optional new
keyword in dart.
Set also can be created with a new keyword
void main() {
Set set = Set();
print(set.length); //0
print(set.runtimeType); //_LinkedHashSet<dynamic>
}
or you can use the new keyword to create a variable for the set
void main() {
Set set = new Set();
print(set.length); //0
print(set.runtimeType); //_LinkedHashSet<dynamic>
}
The above codes create an empty set and return Set.length
as zero(0)
It is an empty set without type safety and the default type is Set<dynamic>
.
How do you create a typed Set?
void main() {
Set<String> set = new Set<String>();
print(set.length); //0
print(set.runtimeType); //_LinkedHashSet<String>
Set<String> set1 = Set<String>();
print(set1.length); //0
print(set1.runtimeType); //_LinkedHashSet<String>
}
- using empty literal syntax
Create a variable and assign the with empty literal using {}
syntax.
void main() {
Set set = {};
print(set.length); //0
print(set.runtimeType); //_LinkedHashSet<String>
}
How to create a typed version of the empty literal syntax? This creates an empty array typed set without elements.
void main() {
Set<String> set = <String>{};
print(set.length); //0
print(set.runtimeType); //_LinkedHashSet<String>
}
or you can also use empty literal without type, but the variable type is typed.
void main() {
Set<String> set = {};
print(set.length); //0
print(set.runtimeType); //_LinkedHashSet<String>
}
How to Create an Empty Set of objects in a flutter
The fourth way is, Create an Empty Object Set
Here is an example code for multiple ways to create a Set of objects create a class of employees and create a Set of the empty object using var emps = <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() {
Set<Employee> emps1 = new Set<Employee>();
print(emps1.length); //0
print(emps1.runtimeType); //_LinkedHashSet<Employee>
Set<Employee> emps2 = <Employee>{};
print(emps2.length); //0
print(emps2.runtimeType); //_LinkedHashSet<Employee>
Set<Employee> emps3 = {};
print(emps3.length); //0
print(emps3.runtimeType); //_LinkedHashSet<Employee>
}
Conclusion
This tutorial talks about multiple ways to create an empty Set typed version of objects.