Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dart-lang/collection
The collection package for Dart contains a number of separate libraries with utility functions and classes that makes working with collections easier.
https://github.com/dart-lang/collection
algorithms algorithms-and-data-structures dart data-structures
Last synced: 2 months ago
JSON representation
The collection package for Dart contains a number of separate libraries with utility functions and classes that makes working with collections easier.
- Host: GitHub
- URL: https://github.com/dart-lang/collection
- Owner: dart-lang
- License: bsd-3-clause
- Created: 2015-02-24T09:58:44.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-10-04T22:21:55.000Z (2 months ago)
- Last Synced: 2024-10-05T23:26:06.787Z (2 months ago)
- Topics: algorithms, algorithms-and-data-structures, dart, data-structures
- Language: Dart
- Homepage: https://pub.dev/packages/collection
- Size: 570 KB
- Stars: 378
- Watchers: 44
- Forks: 88
- Open Issues: 62
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
- awesome-dart - collection - contains a number of separate libraries with utility functions and classes that makes working with collections easier.[<img src="https://travis-ci.org/dart-lang/collection.svg?branch=master">](https://travis-ci.org/dart-lang/collection) (Libraries / Utility)
README
[![Dart CI](https://github.com/dart-lang/collection/actions/workflows/ci.yml/badge.svg)](https://github.com/dart-lang/collection/actions/workflows/ci.yml)
[![pub package](https://img.shields.io/pub/v/collection.svg)](https://pub.dev/packages/collection)
[![package publisher](https://img.shields.io/pub/publisher/collection.svg)](https://pub.dev/packages/collection/publisher)Contains utility functions and classes in the style of `dart:collection` to make
working with collections easier.## Algorithms
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.## Equality
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 define such an equality. In this
case, for example, `const SetEquality(IdentityEquality())` is an equality
that considers two sets equal exactly if they contain identical elements.Equalities are provided for `Iterable`s, `List`s, `Set`s, and `Map`s, as well as
combinations of these, such as:```dart
const MapEquality(IdentityEquality(), 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.
## Wrappers
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][tracker].
[tracker]: https://github.com/dart-lang/collection/issues
## Publishing automation
For information about our publishing automation and release process, see
https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.