operator []= method

  1. @override
void operator []=(
  1. K key,
  2. V value
)
override

Associates the key with the given value.

If the key was already in the map, its associated value is changed. Otherwise the key/value pair is added to the map.

Implementation

@override
operator []=(K key, V value) {
  final Iterable<_Keyed<K, V>> existing = _values.where((e) => e.key == key);

  for (var e in existing) {
    e.value = value;
  }

  if (existing.isEmpty) {
    _values.add(_Keyed(key, value));
  }

  _keys[key] = value;
}