Swiftpack.co - Package - dart-lang/collection

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.

The 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 Iterables, Lists, Sets, and 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 (operator==) values.

Iterable Zip

Utilities for "zipping" a list of iterables into an iterable of lists.

Priority Queue

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.

Features and bugs

Please file feature requests and bugs at the issue tracker.


Stars: 24
Help us keep the lights on


Used By

Total: 0


1.14.10 - Jun 12, 2018

  • Remove uses of retype.
  • Fix various bugs, mainly in tests.

1.14.9 - Mar 20, 2018

  • Fixed bugs where QueueList, MapKeySet, and MapValueSet did not adhere to the contract laid out by List.cast, Set.cast and Map.cast respectively. The returned instances of these methods now correctly forward to the existing instance instead of always creating a new copy.

1.14.7 - Mar 13, 2018

  • Only the Dart 2 dev SDK (>=2.0.0-dev.22.0) is now supported.
  • Added support for all Dart 2 SDK methods that threw UnimplementedError.

1.14.0 - Mar 26, 2017


  • Add CombinedListView, a view of several lists concatenated together.
  • Add CombinedIterableView, a view of several iterables concatenated together.
  • Add CombinedMapView, a view of several maps concatenated together.