23a98d808c
The Iterables have been separated and specialized. The `keys` Iterable specialized so that the `contains` method uses the Map's `containsKey` method. This is required for correctness and usually much faster that the linear scan of `Iterable.contains`. The default `MapBase.entries` maps over the keys and does lookups. It is faster to scan the data like `get keys` and `get values`. Issue: #52909 Change-Id: Id3400c3efd8e657c74b41b3fce71e0713dc790bc Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/389266 Reviewed-by: Lasse Nielsen <lrn@google.com> Reviewed-by: Ömer Ağacan <omersa@google.com> Commit-Queue: Stephen Adams <sra@google.com>