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<Never>()])
const
DeepCollectionEquality.unordered([Equality base = const DefaultEquality<Never>()])
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.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

equals(Object? e1, Object? e2) bool
Compare two elements for being equal.
override
hash(Object? o) int
Creates a combined hash code for a number of objects.
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 nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited