DeepCollectionEquality class

Deep equality on collections.

Recognizes lists, sets, iterables and maps and compares their elements using deep equality as well.

Non-iterable/map objects are compared using a configurable base equality.

Works in one of two modes: ordered or unordered.

In ordered mode, lists and iterables are required to have equal elements in the same order. In unordered mode, the order of elements in iterables and lists are not important.

A list is only equal to another list, likewise for sets and maps. All other iterables are compared as iterables only.

Implemented types

Constructors

DeepCollectionEquality([Equality base = const DefaultEquality()])
const
DeepCollectionEquality.unordered([Equality base = const DefaultEquality()])
Creates a deep equality on collections where the order of lists and iterables are not considered important. That is, lists and iterables are treated as unordered iterables.
const

Properties

hashCode int
The hash code for this object. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

equals(dynamic e1, dynamic e2) bool
Compare two elements for being equal. [...]
override
hash(Object o) int
Get a hashcode of an element. [...]
override
isValidKey(Object o) bool
Test whether an object is a valid argument to equals and hash. [...]
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toString() String
Returns a string representation of this object.
inherited

Operators

operator ==(dynamic other) bool
The equality operator. [...]
inherited