lastKeyBefore method

K lastKeyBefore (K key)

Get the last key in the map that is strictly smaller than key. Returns null if no key was not found.

Implementation

K lastKeyBefore(K key) {
  if (key == null) throw new ArgumentError(key);
  if (_root == null) return null;
  int comp = _splay(key);
  if (comp < 0) return _root.key;
  _SplayTreeNode<K> node = _root.left;
  if (node == null) return null;
  while (node.right != null) {
    node = node.right;
  }
  return node.key;
}