- Keys are unique
- Inserting a (key, value) pair when the key is already in the symbol table replaces the old value associated with that key with the new value.
- Keys are not allowed to be null
- Values are not allowed to be null.
- When creating an instance of a symbol table, an immutable type should be chosen for the key if possible.