description

# UnmodifiableMapBase<K, V> class abstract

Basic implementation of an unmodifiable Map.

This class has a basic implementation of all but two of the members of an unmodifiable Map. A simple unmodifiable `Map` class can be implemented by extending this class and implementing `keys` and `operator[]`.

Modifying operations throw when used. The remaining non-modifying operations are implemented in terms of `keys` and `operator[]`.

The `keys` iterable should have efficient Iterable.length and Iterable.contains operations, and it should catch concurrent modifications of the keys while iterating.

A more efficient implementation is usually possible by overriding some of the other members as well.

Inheritance
  - Object
  - MapBase<K, V>
  - UnmodifiableMapBase
Implemented types
  - Map<K, V>

## Constructors

UnmodifiableMapBase()
  const

## Properties

entries → Iterable<MapEntry<K, V>>
  The map entries of this Map.
  no setterinherited
hashCode → int
  The hash code for this object.
  no setterinherited
isEmpty → bool
  Whether there is no key/value pair in the map.
  no setterinherited
isNotEmpty → bool
  Whether there is at least one key/value pair in the map.
  no setterinherited
keys → Iterable<K>
  The keys of this Map.
  no setterinherited
length → int
  The number of key/value pairs in the map.
  no setterinherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setterinherited
values → Iterable<V>
  The values of this Map.
  no setterinherited

## Methods

addAll(Map<K, V> other) → void
  This operation is not supported by an unmodifiable map.
  inherited
addEntries(Iterable<MapEntry<K, V>> entries) → void
  This operation is not supported by an unmodifiable map.
  inherited
cast<RK, RV>() → Map<RK, RV>
  Provides a view of this map as having `RK` keys and `RV` instances, if necessary.
  inherited
clear() → void
  This operation is not supported by an unmodifiable map.
  inherited
containsKey(Object? key) → bool
  Whether this map contains the given `key`.
  inherited
containsValue(Object? value) → bool
  Whether this map contains the given `value`.
  inherited
forEach(void action(K key, V value)) → void
  Applies `action` to each key/value pair of the map.
  inherited
map<K2, V2>(MapEntry<K2, V2> transform(K key, V value)) → Map<K2, V2>
  Returns a new map where all entries of this map are transformed by the given `convert` function.
  inherited
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
putIfAbsent(K key, V ifAbsent()) → V
  This operation is not supported by an unmodifiable map.
  inherited
remove(Object? key) → V?
  This operation is not supported by an unmodifiable map.
  inherited
removeWhere(bool test(K key, V value)) → void
  This operation is not supported by an unmodifiable map.
  inherited
toString() → String
  A string representation of this object.
  inherited
update(K key, V update(V value), {V ifAbsent()?}) → V
  This operation is not supported by an unmodifiable map.
  inherited
updateAll(V update(K key, V value)) → void
  This operation is not supported by an unmodifiable map.
  inherited

## Operators

operator ==(Object other) → bool
  The equality operator.
  inherited
operator [](Object? key) → V?
  The value for the given `key`, or `null` if `key` is not in the map.
  inherited
operator []=(K key, V value) → void
  This operation is not supported by an unmodifiable map.
  inherited