Remove a key from a map
Updated
Delete removes that key and its value. Size −1 if it was present. Other keys stay. After delete, get misses and contains-key is false.
What to focus on
Delete is keyed. You cannot delete-by-value in O(1).
Worked examples
remove middle
a = [4, 1, 9] as {4:2,1:8,9:3}, delete 1- 1 gone
- 4 and 9 stay
Result: {4:2, 9:3} · size 2
remove only
a = [7] as {7:3}, delete 7- last entry
Result: {}
empty delete
a = [], delete 4- nothing to remove
Result: {}
Try it
Write remove(m, k). m is the hash map. k is a present key. Remove that key and its value. Size drops by 1. Then get(k) misses. a = [4, 1, 9] as {4:2,1:8,9:3}, delete 1 → {4:2, 9:3} · size 2. a = [7] as {7:3}, delete 7 → {}. a = [], delete 4 → {}.
keys are integers. The key exists when you delete.