groupBy<K> method
Returns a new set with elements grouped by the given key
function.
Example:
final set = {'apple', 'banana', 'cherry', 'avocado'};
print(set.groupBy((e) => e[0]));
// {a: {apple, avocado}, b: {banana}, c: {cherry}}
Implementation
Map<K, Set<E>> groupBy<K>(K Function(E element) key) {
final result = <K, Set<E>>{};
for (final element in this) {
final k = key(element);
(result[k] ??= {}).add(element);
}
return result;
}