1: // @author Frank M. Carrano, Timothy M. Henry
2: // @version 5.0
3: public V add(K key, V value)
4: {
5: checkIntegrity();
6: if ((key == null) || (value == null))
7: throw new IllegalArgumentException("Cannot add null to this dictionary.");
8: else
9: {
10: V result = null;
11: int keyIndex = locateIndex(key);
13: if ( (keyIndex < numberOfEntries) &&
14: key.equals(dictionary[keyIndex].getKey()) )
15: {
16: // Key found, return and replace entry's value
17: result = dictionary[keyIndex].getValue(); // Get old value
18: dictionary[keyIndex].setValue(value); // Replace value
19: }
20: else // Key not found; add new entry to dictionary
21: {
22: makeRoom(keyIndex); // Make room for new entry
23: dictionary[keyIndex] = new Entry<>(key, value); // Insert new entry in array
24: numberOfEntries++;
25: ensureCapacity(); // Ensure enough room for next add
26: } // end if
28: return result;
29: } // end if
30: } // end add