groupBy<K> method

Map<K, List<T>> groupBy<K>(
  1. K key(
    1. T element
    )
)

Groups elements by the given key function.

Implementation

Map<K, List<T>> groupBy<K>(K Function(T element) key) {
  final Map<K, List<T>> grouped = {};
  for (final element in this) {
    final keyValue = key(element);
    grouped.putIfAbsent(keyValue, () => []).add(element);
  }
  return grouped;
}