Класс 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>> только для чтения - Элементы карты this.
- hashCode → int только для чтения, унаследованное
- Хэш-код этого объекта.
- isEmpty → bool только для чтения
- Является ли карта пустой.
- isNotEmpty → bool только для чтения
- Содержит ли карта хотя бы одну пару ключ/значение.
- keys → Iterable<
K> только для чтения - Ключи this.
- length → int только для чтения
- Количество пар ключ/значение в карте.
- runtimeType → Type только для чтения, унаследованное
- Представление типа объекта во время выполнения.
- values → Iterable<
V> только для чтения - Значения this.
Методы
- 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.18.5/dart-core/Map-class.html