Spec-Zone.ru › Dart 2

dart:core

Map<K, V> класс

Коллекция пар «ключ/значение», из которой можно получить значение по соответствующему ключу.

В карте содержится конечное число ключей, и каждому ключу соответствует ровно одно значение.

По картам, их ключам и значениям можно выполнять итерацию. Порядок итерации определяется конкретным типом карты. Примеры:

  • Обычная HashMap неупорядочена (порядок не гарантируется),
  • LinkedHashMap выполняет итерацию в порядке добавления ключей,
  • а отсортированная карта, например SplayTreeMap, выполняет итерацию по ключам в отсортированном порядке.

Как правило, во время выполнения операции над картой запрещено изменять её (добавлять или удалять ключи), например в функциях, вызываемых во время вызова forEach или putIfAbsent. Изменение карты во время итерации по ключам или значениям также может нарушить итерацию.

Как правило, запрещено изменять равенство ключей (а значит, и их хеш-код), пока они находятся в карте. Некоторые специализированные подтипы могут допускать такие изменения; в этом случае они должны описывать такое поведение в документации.

Реализации
  • HashMap
  • HttpSession
  • LinkedHashMap
  • MapMixin
  • MapView
  • UnmodifiableMapBase
  • UnmodifiableMapView

Конструкторы

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API