来自 SplayTreeMap<K, V>.from 构造函数

SplayTreeMap<K, V>.from(
  1. Map other,
  2. [int compare(
    1. K key1,
    2. K key2
    )?,
  3. bool isValidKey(
    1. dynamic potentialKey
    )?]
)

创建一个包含所有键/值对的 SplayTreeMap

键必须都是 K 的实例,值是 Vother 地图本身可以是任何类型。示例

final baseMap = <int, Object>{3: 'C', 1: 'A', 2: 'B'};
final fromBaseMap = SplayTreeMap<int, String>.from(baseMap);
print(fromBaseMap); // {1: A, 2: B, 3: C}

实现

factory SplayTreeMap.from(Map<dynamic, dynamic> other,
    [int Function(K key1, K key2)? compare,
    bool Function(dynamic potentialKey)? isValidKey]) {
  if (other is Map<K, V>) {
    return SplayTreeMap<K, V>.of(other, compare, isValidKey);
  }
  SplayTreeMap<K, V> result = SplayTreeMap<K, V>(compare, isValidKey);
  other.forEach((dynamic k, dynamic v) {
    result[k] = v;
  });
  return result;
}