LinkedHashMap<K, V>.fromIterable 构造函数

LinkedHashMap<K, V>.fromIterable(
  1. Iterable iterable, {
  2. K key(
    1. dynamic element
    )?,
  3. V value(
    1. dynamic element
    )?,
})

通过从 iterable 计算键和值来创建一个 LinkedHashMap

对于 iterable 的每个元素,此构造函数通过分别应用 keyvalue 来计算键/值对。

键/值对的键不需要是唯一的。最后一个键的出现将简单地覆盖任何先前的值。

如果没有指定 keyvalue 的值,则默认为两者都默认为恒等函数。示例

final numbers = [11, 12, 13, 14];
final mapFromIterable =
    LinkedHashMap.fromIterable(numbers, key: (i) => i, value: (i) => i * i);
print(mapFromIterable); // {11: 121, 12: 144, 13: 169, 14: 196}

实现

factory LinkedHashMap.fromIterable(Iterable iterable,
    {K Function(dynamic element)? key, V Function(dynamic element)? value}) {
  LinkedHashMap<K, V> map = LinkedHashMap<K, V>();
  MapBase._fillMapWithMappedIterable(map, iterable, key, value);
  return map;
}