diff --git a/src/cse332/datastructures/trees/BinarySearchTree.java b/src/cse332/datastructures/trees/BinarySearchTree.java index e675f8ee38a9a732fb362d77b907e858879cd391..92fecb78b27804d4c6ab6e54abf6c966f8ded158 100644 --- a/src/cse332/datastructures/trees/BinarySearchTree.java +++ b/src/cse332/datastructures/trees/BinarySearchTree.java @@ -49,7 +49,7 @@ public class BinarySearchTree<K extends Comparable<K>, V> } } - private BSTNode find(K key, V value) { + protected BSTNode find(K key, V value) { BSTNode prev = null; BSTNode current = this.root; @@ -89,6 +89,9 @@ public class BinarySearchTree<K extends Comparable<K>, V> @Override public V find(K key) { + if (key == null) { + throw new IllegalArgumentException(); + } BSTNode result = find(key, null); if (result == null) { return null; @@ -98,6 +101,9 @@ public class BinarySearchTree<K extends Comparable<K>, V> @Override public V insert(K key, V value) { + if (key == null || value == null) { + throw new IllegalArgumentException(); + } BSTNode current = find(key, value); V oldValue = current.value; current.value = value;