toMap<K, V> method

Map<K, V> toMap<K, V>({
  1. required K key(
    1. int index,
    2. E element
    ),
  2. required V value(
    1. int index,
    2. E element
    ),
})

Implementation

Map<K, V> toMap<K, V>({
  required K Function(int index, E element) key,
  required V Function(int index, E element) value,
}) {
  final entries = <MapEntry<K, V>>[];
  final it = iterator..moveNext();

  for (var i = 0; i < length; i++, it.moveNext()) {
    entries.add(
      MapEntry(
        key(i, it.current),
        value(i, it.current),
      ),
    );
  }
  return Map.fromEntries(entries);
}