Permutations class
A class representing permutations of items in a list.
This class is used to track and apply permutations of items, typically in the context of reordering elements within a list or grid.
Permutations are created by specifying the original and destination indices of an item, and they can be applied to a list to reflect the new order.
Example:
// Creating a Permutations instance
final permutations = Permutations();
// Adding a permutation to reorder an item from index 2 to index 5
permutations.addPermutation(
itemKey: myItemKey,
srcIndex: 2,
destIndex: 5,
);
// Applying the permutations to a list
final myList = ['A', 'B', 'C', 'D', 'E'];
permutations.apply(myList);
In this example, the myList
will be reordered based on the specified permutations.
The Permutations
class keeps track of the mappings between original and new indices.
- Inheritance
-
- Object
- Iterable<
Permutation> - Permutations
Constructors
Properties
- first → Permutation
-
The first element.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- isEmpty → bool
-
Returns
true
if there are no recorded permutations, indicating an empty state.no setteroverride - isNotEmpty → bool
-
Whether this collection has at least one element.
no setterinherited
-
iterator
→ Iterator<
Permutation> -
A new
Iterator
that allows iterating the permutations.no setteroverride - last → Permutation
-
The last element.
no setterinherited
- length → int
-
The number of permutations.
no setteroverride
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- single → Permutation
-
Checks that this iterable has only one element, and returns that element.
no setterinherited
Methods
-
addPermutation(
{required Key itemKey, required int srcIndex, required int destIndex}) → void - Adds a permutation to the list.
-
any(
bool test(Permutation element)) → bool -
Checks whether any element of this iterable satisfies
test
.inherited -
apply<
T> (List< T> list) → void - Applies the permutations to a provided list.
-
cast<
R> () → Iterable< R> -
A view of this iterable as an iterable of
R
instances.inherited -
contains(
Object? element) → bool -
Whether the collection contains an element equal to
element
.inherited -
elementAt(
int index) → Permutation -
Returns the
index
th element.inherited -
every(
bool test(Permutation element)) → bool -
Checks whether every element of this iterable satisfies
test
.inherited -
expand<
T> (Iterable< T> toElements(Permutation element)) → Iterable<T> -
Expands each element of this Iterable into zero or more elements.
inherited
-
firstWhere(
bool test(Permutation element), {Permutation orElse()?}) → Permutation -
The first element that satisfies the given predicate
test
.inherited -
fold<
T> (T initialValue, T combine(T previousValue, Permutation element)) → T -
Reduces a collection to a single value by iteratively combining each
element of the collection with an existing value
inherited
-
followedBy(
Iterable< Permutation> other) → Iterable<Permutation> -
Creates the lazy concatenation of this iterable and
other
.inherited -
forEach(
void action(Permutation element)) → void -
Invokes
action
on each element of this iterable in iteration order.inherited -
indexOf(
Key itemKey) → int? - Returns the index of an item based on its key.
-
itemKeyAt(
int index) → Key? - Returns the item key at a specified index.
-
join(
[String separator = ""]) → String -
Converts each element to a String and concatenates the strings.
inherited
-
lastWhere(
bool test(Permutation element), {Permutation orElse()?}) → Permutation -
The last element that satisfies the given predicate
test
.inherited -
map<
T> (T toElement(Permutation e)) → Iterable< T> -
The current elements of this iterable modified by
toElement
.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
reduce(
Permutation combine(Permutation value, Permutation element)) → Permutation -
Reduces a collection to a single value by iteratively combining elements
of the collection using the provided function.
inherited
-
singleWhere(
bool test(Permutation element), {Permutation orElse()?}) → Permutation -
The single element that satisfies
test
.inherited -
skip(
int count) → Iterable< Permutation> -
Creates an Iterable that provides all but the first
count
elements.inherited -
skipWhile(
bool test(Permutation value)) → Iterable< Permutation> -
Creates an
Iterable
that skips leading elements whiletest
is satisfied.inherited -
take(
int count) → Iterable< Permutation> -
Creates a lazy iterable of the
count
first elements of this iterable.inherited -
takeWhile(
bool test(Permutation value)) → Iterable< Permutation> -
Creates a lazy iterable of the leading elements satisfying
test
.inherited -
toList(
{bool growable = true}) → List< Permutation> -
Creates a List containing the elements of this Iterable.
inherited
-
toSet(
) → Set< Permutation> -
Creates a Set containing the same elements as this iterable.
inherited
-
toString(
) → String -
Returns a string representation of (some of) the elements of
this
.inherited -
where(
bool test(Permutation element)) → Iterable< Permutation> -
Creates a new lazy Iterable with all elements that satisfy the
predicate
test
.inherited -
whereType<
T> () → Iterable< T> -
Creates a new lazy Iterable with all elements that have type
T
.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited