Skip to content

Collections Dart

final cityList = ['Paris', 'Londres', 'Rome'];
cityList.add('Amsterdam');
cityList.addAll(['Madrid', 'Barcelone']);
cityList.removeLast();
cityList.add('Rome');
final uppercaseCities = cityList
.map((city) => city.toUpperCase())
.toList();
print(uppercaseCities);

Collection d’éléments uniques :

final citySet = {'Paris', 'Londres', 'Rome'};
citySet.add('Rome'); // N'ajoute pas de doublon
print('Cities $citySet');
final city = {
'name': 'Paris',
'country': 'France',
'pictures': ['paris1.jpg', 'paris2.jpg'],
};
enum Status { pending, error, done }
Map<Status, Color> colorMap = {
Status.pending: Colors.grey,
Status.error: Colors.red,
Status.done: Colors.green,
};
void main() {
print(city['country']);
print(colorMap[Status.error]);
}

Depuis Dart 3.0 :

void main() {
// Records positionnels
final position = getPoint();
print('position X : ${position.$1}, Y : ${position.$2}, Z : ${position.$3}');
// Destructuring
final (x, y, z) = getPoint();
print('position X : $x, Y : $y, Z : $z');
// Named records
final coordinates = getPosition();
print('longitude ${coordinates.longitude} latitude ${coordinates.latitude}');
}
(double, double, double) getPoint() {
final x = computeX();
final y = computeY();
final z = computeZ();
return (x, y, z);
}
({double longitude, double latitude}) getPosition() {
final longitude = computeLongitude();
final latitude = computeLatitude();
return (latitude: latitude, longitude: longitude);
}