groupBy<K> method

Map<K, Set<E>> groupBy<K>(
  1. K key(
    1. E element
    )
)

Returns a new set with elements grouped by the given key function.

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;
}