Конструктор SplayTreeMap< K, V>.fromIterable
Создаёт SplayTreeMap, где ключи и значения вычисляются из iterable.
Для каждого элемента iterable этот конструктор вычисляет пару ключ/значение, применяя key и value соответственно.
Ключи пар ключ/значение не обязательно должны быть уникальными. Последнее вхождение ключа просто перезапишет любое предыдущее значение.
Если для key и value не указаны функции, по умолчанию используется само значение из итерируемого объекта. Пример:
final numbers = [12, 11, 14, 13];
final mapFromIterable =
SplayTreeMap<int, int>.fromIterable(numbers,
key: (i) => i, value: (i) => i * i);
print(mapFromIterable); // {11: 121, 12: 144, 13: 169, 14: 196} Реализация
factory SplayTreeMap.fromIterable(Iterable iterable,
{K Function(dynamic element)? key,
V Function(dynamic element)? value,
int Function(K key1, K key2)? compare,
bool Function(dynamic potentialKey)? isValidKey}) {
SplayTreeMap<K, V> map = SplayTreeMap<K, V>(compare, isValidKey);
MapBase._fillMapWithMappedIterable(map, iterable, key, value);
return map;
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-collection/SplayTreeMap/SplayTreeMap.fromIterable.html