containsValue method
Whether this map contains the given value.
Returns true if any of the values in the map are equal to value
according to the == operator.
final moonCount = <String, int>{'Mercury': 0, 'Venus': 0, 'Earth': 1,
'Mars': 2, 'Jupiter': 79, 'Saturn': 82, 'Uranus': 27, 'Neptune': 14};
final moons3 = moonCount.containsValue(3); // false
final moons82 = moonCount.containsValue(82); // true
Implementation
@override
bool containsValue(Object? value) {
List<_EntryRef<K, V>>? del;
bool found = false;
for (var k in _map.keys) {
var target = k.target;
if (target == null) {
del ??= <_EntryRef<K, V>>[];
del.add(k);
} else {
if (k.payload == value) {
found = true;
break;
}
}
}
if (del != null) {
for (var e in del) {
_map.remove(e);
_onRemoveEntry(e);
}
_unpurgedCount = 0;
}
return found;
}