Dart extension method for Iterable and List.
To use this plugin, add list_ext as a dependency in your pubspec.yaml file.
Than add import 'package:list_ext/list_ext.dart'; to the file for use extension methods.
import 'package:list_ext/list_ext.dart';
void main() {
final list = [1, 2, 5];
final sum = list.sum();
print('Sum: $sum');
// Output: Sum: 8
}countWhere()- returns count of elements that satisfy the predicate.containsAll()- returnstrueif the collection contains all elements from the given collection.
isNullOrEmpty/isNotNullOrEmpty- check fornullor empty.isUnorderedEquivalent()- check equality of the elements of two iterables without considering order.
firstWhereOrNull()- return the first found element ornullif no element found.
firstOrNull- returns the first element ornullif collection is empty.tryElementAt()- returns the element at the index if exists ororElseif it is out of range.
reduceValue()- reduces values of elements in a collection to a single value by iteratively combining its using the provided function.
chunks()- splits into chunks of the specified size.intersperse()- adds an element between elements of the iterable.mapIndex()- creates a new iterable by passing each element and index to a callback.
joinOf()- get string value for each element and concatenates it with passed separator.
toMap()- creates a Map instance from the iterable.
maxOf()- returns max of values by elements.minOf()- returns min of values by elements.sumOf()/sumOfDouble()/sumOfBigInt- returns sum of values by elements.avgOf()/avgOfDouble()- returns the average value of values by elements.
There are specific version of methods for Iterables of num (int and double):
max()(also for BigInt).min()(also for BigInt).sum().avg().
random- returns a random element from the list.
replace()- Remove all element occurrences and replace its with another element.replaceWhere()- Replace all elements of list that satisfy given predicate.addIfNotNull()- Adds element to the end of this list if this element is not null.
sortBy()- Sorts the list in ascending order of the object's field value.sortByDescending()- Sorts the list in descending order of the object's field value.
copyWith()- Copy current list with adding element.copyWithAll()- Copy current list with adding all elements from another list.copyWithReplace()- Copy current list, replacing all element occurrences with another element.copyWithReplaceWhere()- Copy current list, replacing elements of list that satisfy given predicate with another element.copyWithInsertAll()- Copy current list with adding all elements at the provided position of new list.