groupBy<K> method
Groups elements of this iterable into a Map using the given keySelector
.
Similar to Java's Collectors.groupingBy
.
Each entry in the resulting map has a key produced by keySelector
,
and the corresponding value is a list of elements that share that key.
Example:
class Interest {
final String name;
final String category;
Interest(this.name, this.category);
}
final interests = [
Interest('Football', 'Sports'),
Interest('Chess', 'Board Games'),
Interest('Basketball', 'Sports'),
];
final grouped = interests.groupBy((i) => i.category);
print(grouped['Sports']!.map((i) => i.name)); // [Football, Basketball]
Implementation
Map<K, List<T>> groupBy<K>(K Function(T item) keySelector) {
return group(keySelector);
}