SplayTreeMap<K, V>.fromIterables 构造函数

SplayTreeMap<K, V>.fromIterables(
  1. Iterable<K> keys,
  2. Iterable<V> values, [
  3. int compare(
    1. K key1,
    2. K key2
    )?,
  4. bool isValidKey(
    1. dynamic potentialKey
    )?,
])

创建一个将给定的 keys 关联到 valuesSplayTreeMap

此构造函数遍历 keysvalues,并将 keys 的每个元素映射到相应的 values 元素。

如果 keys 中包含相同的对象多次,则最后出现的对象会覆盖之前的价值。

如果两个 Iterable 的长度不相同,则是一个错误。示例

final keys = ['1', '2', '3', '4'];
final values = ['A', 'B', 'C', 'D'];
final mapFromIterables = SplayTreeMap.fromIterables(keys, values);
print(mapFromIterables); // {1: A, 2: B, 3: C, 4: D}

实现

factory SplayTreeMap.fromIterables(Iterable<K> keys, Iterable<V> values,
    [int Function(K key1, K key2)? compare,
    bool Function(dynamic potentialKey)? isValidKey]) {
  SplayTreeMap<K, V> map = SplayTreeMap<K, V>(compare, isValidKey);
  MapBase._fillMapWithIterables(map, keys, values);
  return map;
}