collection library

A collection of iterable extensions and new collection types: bi-map, bit-list, multi-set, set and list multi-map, range, and string.

Classes

BigIntRange
A virtual range of BigInt containing an arithmetic progressions.
BiMap<K, V>
A bi-map associates keys with values and values with keys.
BitList
An space efficient List that stores boolean values.
Bounds
Axis-aligned bounding box.
DoubleRange
A virtual range of doubles containing an arithmetic progressions.
Group<K, V>
A group of values.
Heap<E>
A priority queue implemented using a binary heap.
Indexed<E>
An indexed value.
IntegerRange
A virtual range of integers containing an arithmetic progressions.
ListMultimap<K, V>
A multimap that stores values in a List, and that maintains the insertion order of values of a given key. A factory can be provided to create custom value collections.
MapWithDefault<K, V>
Multiset<E>
A generalized Set (or Bag) in which members are allowed to appear more than once.
Range<T>
Abstract superclass of an arithmetic progressions.
RangeIterator<T>
An Iterator over a Range, provides various additional accessors of the standard collection iterator.
RTree<T>
Abstract base implementation of the R-Tree data structure, based on the Python implementation from https://github.com/lukas-shawford/rtreelib.
RTreeEntry<T>
R-Tree entry, containing either a pointer to a child RTreeNode instance (if this is not a leaf entry), or data (if this is a leaf entry).
RTreeNode<T>
An R-Tree node, which is a container for R-Tree entries. The node is a leaf node if its entries contain data; otherwise, if it is a non-leaf node, then its entries contain pointers to children nodes.
SetMultimap<K, V>
A multimap that stores values in a Set, and that keeps the unique values of a given key. A factory can be provided to create custom value collections.
SortedList<E>
A sorted-list that remains sorted by a Comparator as elements get added.
Trie<K, P extends Comparable<P>, V>
A generalized Trie (or prefix tree) which keys of type K split into parts of type P, and values of type V.
TrieNode<K, P extends Comparable<P>, V>
Abstract implementation of the nodes in a Trie.
TrieNodeEntry<K, P extends Comparable<P>, V>
Abstract TrieNode with a possible key and value.
TrieNodeList<K, P extends Comparable<P>, V>
TrieNode that holds children in a sorted List.
TrieNodeMap<K, P extends Comparable<P>, V>
TrieNode that holds children in a Map.
TypeMap<T>
A type-map associates dart runtime types to an instance of that type.

Enums

Period
Different kinds of repeating periodic timestamps.

Extensions

BigIntRangeExtension on BigInt
BiMapOnIterableExtension on Iterable<E>
BiMapOnMapExtension on Map<K, V>
BitListExtension on Iterable<bool>
ChunkedExtension on Iterable<E>
CombinationsExtension on Iterable<E>
ConvertFirstLastStringExtension on String
CountIterableExtension on Iterable<E>
DefaultMapExtension on Map<K, V>
DoubleRangeExtension on double
FlatMapExtension on Iterable<E>
FlattenExtension on Iterable<Iterable<E>>
GroupExtension on Iterable<V>
IndentDedentStringExtension on String
IndexedExtension on Iterable<E>
IndicesIterableExtension on Iterable<Object?>
IntegerRangeExtension on int
ListMultimapOnIterableExtension on Iterable<E>
ListMultimapOnMapExtension on Map<K, V>
MultisetExtension on Iterable<T>
OperatorsExtension on Iterable<E>
PeriodicalExtension on DateTime
PermutationComparableListExtension on List<E>
PermutationIterableExtension on Iterable<E>
PowerSetExtension on Iterable<E>
PrefixSuffixStringExtension on String
ProductExtension on Iterable<Iterable<E>>
RandomExtension on Iterable<E>
RepeatIterableExtension on Iterable<E>
RotateListExtension on List<E>
RotateQueueExtension on Queue<E>
SeparatedExtension on Iterable<E>
SetMultimapOnIterableExtension on Iterable<E>
SetMultimapOnMapExtension on Map<K, V>
SortedListIterableExtension on Iterable<E>
StringListExtension on String
TakeSkipListExtension on List<E>
TakeSkipStringExtension on String
ToMapExtension on Iterable<E>
TruncateExtension on DateTime
UniqueExtension on Iterable<E>
WindowExtension on Iterable<E>
WrapUnwrapStringExtension on String
ZipExtension on Iterable<Iterable<E>>

Functions

iterate<E>(E value, E callback(E element)) Iterable<E>
Returns a lazy infinite list of repeated applications of the function to the initial value.
repeat<E>(E element, {int? count}) Iterable<E>
Returns an infinite iterable with a constant element. If count is provided the resulting iterator is limited to count elements.