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 与对应的 values 关联的 SplayTreeMap 对象。

此构造函数遍历 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;
}