|author||Jacob MacDonald <email@example.com>||Fri Aug 16 09:07:15 2019 -0700|
|committer||GitHub <firstname.lastname@example.org>||Fri Aug 16 09:07:15 2019 -0700|
CombinedMapView.keys fix (#110) Fixes https://github.com/dart-lang/collection/issues/109 Adds a custom iterable/iterator that can filter out duplicates and use that for the `CombineMapView.keys` getter. Updates tests to contain duplicates in maps, and ensure the keys/values from the earlier maps are the ones that are returned. Updates the changelog and docs to no longer claim `O(maps)` for the length getter. This now requires iteration of all items and is `O(total map entries)`. Prepare to publish as 1.14.12
Contains utility functions and classes in the style of
dart:collection to make working with collections easier.
The package contains functions that operate on lists.
It contains ways to shuffle a
List, do binary search on a sorted
List, and various sorting algorithms.
The package provides a way to specify the equality of elements and collections.
Collections in Dart have no inherent equality. Two sets are not equal, even if they contain exactly the same objects as elements.
Equality interface provides a way to say define such an equality. In this case, for example,
const SetEquality(const IdentityEquality()) is an equality that considers two sets equal exactly if they contain identical elements.
Equalities are provided for
Maps, as well as combinations of these, such as:
const MapEquality(const IdentityEquality(), const ListEquality());
This equality considers maps equal if they have identical keys, and the corresponding values are lists with equal (
Utilities for “zipping” a list of iterables into an iterable of lists.
An interface and implementation of a priority queue.
The package contains classes that “wrap” a collection.
A wrapper class contains an object of the same type, and it forwards all methods to the wrapped object.
Wrapper classes can be used in various ways, for example to restrict the type of an object to that of a supertype, or to change the behavior of selected functions on an existing object.
Please file feature requests and bugs at the issue tracker.