set(key, value) {
    const node = this.tree.get(key);
    if (node) {
      node.data(value);
      return node;
    }
    return this.tree.add(key).data(value);
  }
Insert a key/value pair into the map.
If the key is already there replaces its content.
Runtime: O(log n)
@param {any} key
@param {any} value
@returns {TreeNode} Return the Map object to allow chaining