SplayTreeMap<K, V>.from constructor Null safety

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

Creates a SplayTreeMap that contains all key/value pairs of other.

The keys must all be instances of K and the values of V. The other map itself can have any type. Example:

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}

Implementation

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;
}