Map< K, V> класс
Коллекция пар «ключ/значение», из которой можно получить значение по соответствующему ключу.
В карте содержится конечное число ключей, и каждому ключу соответствует ровно одно значение.
По картам, их ключам и значениям можно выполнять итерацию. Порядок итерации определяется конкретным типом карты. Примеры:
- Обычная HashMap неупорядочена (порядок не гарантируется),
- LinkedHashMap выполняет итерацию в порядке добавления ключей,
- а отсортированная карта, например SplayTreeMap, выполняет итерацию по ключам в отсортированном порядке.
Как правило, во время выполнения операции над картой запрещено изменять её (добавлять или удалять ключи), например в функциях, вызываемых во время вызова forEach или putIfAbsent. Изменение карты во время итерации по ключам или значениям также может нарушить итерацию.
Как правило, запрещено изменять равенство ключей (а значит, и их хеш-код), пока они находятся в карте. Некоторые специализированные подтипы могут допускать такие изменения; в этом случае они должны описывать такое поведение в документации.
- Реализации
Конструкторы
- Map() factory
- Создаёт пустую LinkedHashMap.
- Map.from(Map other) factory
- Создаёт LinkedHashMap с теми же ключами и значениями, что и
other. - Map.fromEntries(Iterable<
MapEntry< K, V>> entries) factory - Создаёт новую карту и добавляет в неё все записи.
- Map.fromIterable(Iterable iterable, {K key(dynamic element)?, V value(dynamic element)?}) factory
- Создаёт экземпляр Map, в котором ключи и значения вычисляются из
iterable. - Map.fromIterables(Iterable<
K> keys, Iterable< V> values) factory - Создаёт карту, сопоставляя заданные
keysс заданнымиvalues. - Map.identity() factory
- Создаёт карту идентичности с реализацией по умолчанию — LinkedHashMap.
- Map.of(Map<
K, V> other) factory - Создаёт LinkedHashMap с теми же ключами и значениями, что и
other. - Map.unmodifiable(Map other) factory
- Создаёт неизменяемую карту на основе хеш-таблицы, содержащую записи из
other.
Свойства
- entries → Iterable<
MapEntry< K, V>> только для чтения - Записи карты этого объекта.
- hashCode → int только для чтения, унаследовано
- Хеш-код этого объекта.
- isEmpty → bool только для чтения
- Показывает, содержит ли карта пары «ключ/значение».
- isNotEmpty → bool только для чтения
- Показывает, содержит ли карта хотя бы одну пару «ключ/значение».
- keys → Iterable<
K> только для чтения - Ключи этого объекта.
- length → int только для чтения
- Число пар «ключ/значение» в карте.
- runtimeType → Type только для чтения, унаследовано
- Представление типа объекта во время выполнения.
- values → Iterable<
V> только для чтения - Значения этого объекта.
Методы
- addAll(
Map< K, V> other) → void - Добавляет в эту карту все пары «ключ/значение» из
other. - addEntries(
Iterable< MapEntry< K, V>> newEntries) → void - Добавляет в эту карту все пары «ключ/значение» из
newEntries. - cast<
RK, RV>( ) → Map< RK, RV> - Предоставляет представление этой карты с ключами типа
RKи экземплярами типаRV, при необходимости выполняя преобразование. - clear(
) → void - Удаляет из карты все записи.
- containsKey(
Object? key) → bool - Показывает, содержит ли эта карта заданный
key. - containsValue(
Object? value) → bool - Показывает, содержит ли эта карта заданное
value. - forEach(
void action(K key, V value)) → void - Применяет
actionк каждой паре «ключ/значение» карты. - map<
K2, V2>( MapEntry< K2, V2> convert(K key, V value)) → Map< K2, V2> - Возвращает новую карту, в которой все записи этой карты преобразованы с помощью заданной функции
convert. - noSuchMethod(
Invocation invocation) → dynamic унаследовано - Вызывается при обращении к несуществующему методу или свойству.
- putIfAbsent(
K key, V ifAbsent()) → V - Ищет значение для
keyили добавляет новую запись, если её нет. - remove(
Object? key) → V? - Удаляет
keyи соответствующее ему значение из карты, если они присутствуют. - removeWhere(
bool test(K key, V value)) → void - Удаляет из этой карты все записи, удовлетворяющие заданному условию
test. - toString(
) → String унаследовано - Строковое представление этого объекта.
- update(
K key, V update(V value), {V ifAbsent()?}) → V - Обновляет значение для указанного
key. - updateAll(
V update(K key, V value)) → void - Обновляет все значения.
Операторы
- operator ==(
Object other) → bool унаследовано - Оператор равенства.
- operator [](
Object? key) → V? - Значение для заданного
keyилиnull, еслиkeyотсутствует в карте. - operator []=(
K key, V value) → void - Связывает
keyс заданнымvalue.
Статические методы
- castFrom<
K, V, K2, V2>( Map< K, V> source) → Map< K2, V2> - Адаптирует
sourceк типуMap<K2, V2>.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/Map-class.html