Ответ
Map в Dart — это коллекция, хранящая данные в виде пар ключ-значение. Каждый ключ уникален и используется для доступа к соответствующему значению.
- Типы: По умолчанию создается
LinkedHashMap, сохраняющая порядок вставки. Также естьHashMap(порядок не гарантирован). - Изменяемость: Map может быть изменяемым (
var map = {};) или неизменяемым (const map = {...};). - Типизация: Ключи и значения могут быть любого типа. Рекомендуется использовать явную типизацию для безопасности:
Map<String, int> scores = {};
Основные операции и примеры:
// Создание и инициализация Map
Map<String, String> countryCapital = {
'Япония': 'Токио',
'Германия': 'Берлин',
};
// Добавление или обновление элемента
countryCapital['Франция'] = 'Париж';
// Получение значения по ключу
String? capital = countryCapital['Германия']; // 'Берлин'
// Важно: оператор [] возвращает nullable тип, если ключ может отсутствовать.
// Проверка наличия ключа
if (countryCapital.containsKey('Италия')) { ... }
// Итерация по Map
countryCapital.forEach((key, value) {
print('$key: $value');
});
// Преобразование
List<String> countries = countryCapital.keys.toList();
List<String> capitals = countryCapital.values.toList();
Типичное использование в Flutter: хранение конфигураций, кэширование данных, передача аргументов (например, Map<String, dynamic> для ModalRoute.of(context)!.settings.arguments).
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶