Een Map in Dart is een collectie van sleutel-waardeparen. Zowel de sleutels als de waarden kunnen van elk type zijn, en elke sleutel moet uniek zijn. Mappen worden gebruikt om gegevens te koppelen en snel op te zoeken op basis van een sleutel.
Definiëren van Map variabelen
Je kunt een Map variabele definiëren door het type Map te gebruiken gevolgd door de sleutel- en waarde typen tussen haakjes (<>) en de sleutel-waardeparen tussen accolades ({}).
void main() {
// Een Map met strings als sleutels en integers als waarden
Map<String, int> leeftijd = {
'Alice': 30,
'Bob': 25,
'Charlie': 35
};
// Een lege Map die later gevuld kan worden
Map<int, String> legeMap = {};
print(leeftijd); // Output: {Alice: 30, Bob: 25, Charlie: 35}
print(legeMap); // Output: {}
}Toegang krijgen tot waarden in een Map
Je kunt waarden in een Map opvragen door hun sleutel te gebruiken.
void main() {
Map<String, int> leeftijd = {
'Alice': 30,
'Bob': 25,
'Charlie': 35
};
print(leeftijd['Alice']); // Output: 30
print(leeftijd['Bob']); // Output: 25
print(leeftijd['Charlie']); // Output: 35
}Toevoegen en wijzigen van sleutel-waardeparen in een Map
Je kunt nieuwe sleutel-waardeparen toevoegen of bestaande waarden wijzigen door de sleutel te gebruiken.
void main() {
Map<String, int> leeftijd = {
'Alice': 30,
'Bob': 25
};
// Toevoegen van een nieuw sleutel-waarde paar
leeftijd['Charlie'] = 35;
print(leeftijd); // Output: {Alice: 30, Bob: 25, Charlie: 35}
// Wijzigen van een bestaande waarde
leeftijd['Alice'] = 31;
print(leeftijd); // Output: {Alice: 31, Bob: 25, Charlie: 35}
}Verwijderen van sleutel-waardeparen uit een Map
Je kunt sleutel-waardeparen verwijderen met behulp van de remove methode.
void main() {
Map<String, int> leeftijd = {
'Alice': 30,
'Bob': 25,
'Charlie': 35
};
leeftijd.remove('Bob');
print(leeftijd); // Output: {Alice: 30, Charlie: 35}
}Map methoden en eigenschappen
Dart biedt verschillende methoden en eigenschappen voor het werken met mappen, zoals het controleren of een sleutel bestaat, het verkrijgen van alle sleutels of waarden, en het itereren over de paren.
void main() {
Map<String, int> leeftijd = {
'Alice': 30,
'Bob': 25,
'Charlie': 35
};
// Controleren of een sleutel bestaat
bool bevatAlice = leeftijd.containsKey('Alice');
print(bevatAlice); // Output: true
bool bevatDave = leeftijd.containsKey('Dave');
print(bevatDave); // Output: false
// Alle sleutels verkrijgen
Iterable<String> sleutels = leeftijd.keys;
print(sleutels); // Output: (Alice, Bob, Charlie)
// Alle waarden verkrijgen
Iterable<int> waarden = leeftijd.values;
print(waarden); // Output: (30, 25, 35)
// Itereren over sleutel-waardeparen
leeftijd.forEach((sleutel, waarde) {
print('$sleutel: $waarde');
});
// Output:
// Alice: 30
// Bob: 25
// Charlie: 35
}Een Map in Dart is een collectie van sleutel-waardeparen die gebruikt kunnen worden om gegevens op te slaan en snel op te zoeken op basis van sleutels. Je kunt sleutel-waardeparen toevoegen, verwijderen, en bewerken. Mappen ondersteunen verschillende methoden en eigenschappen voor manipulatie en iteratie.
Methodes
putIfAbsent(K key, V ifAbsent()): Voegt een waarde toe voor de sleutel als deze nog niet aanwezig is.
Map<String, int> ages = {'Alice': 30};
ages.putIfAbsent('Bob', () => 25); // {'Alice': 30, 'Bob': 25}containsKey(Object key): Controleert of de map de opgegeven sleutel bevat.
Map<String, int> ages = {'Alice': 30};
bool hasAlice = ages.containsKey('Alice'); // trueremove(Object key): Verwijdert het element met de opgegeven sleutel.
Map<String, int> ages = {'Alice': 30};
ages.remove('Alice'); // {}
length: Geeft het aantal elementen in de map.
Map<String, int> ages = {'Alice': 30, 'Bob': 25};
int len = ages.length; // 2isEmpty en isNotEmpty: Controleert of de map leeg is of niet.
Map<String, int> ages = {};
bool empty = ages.isEmpty; // truekeys en values: Geeft een iterable van de sleutels of waarden in de map.
Map<String, int> ages = {'Alice': 30, 'Bob': 25};
Iterable<String> keys = ages.keys; // ('Alice', 'Bob')
Iterable<int> values = ages.values; // (30, 25)