Домашнее задание 2
Спроектировать и реализовать класс, реализующий коллекцию типа "хеш-таблица" (hash-map), без использования стандартных или библиотечных реализаций коллекций (можно использовать массивы). В качестве ключей и значений могут использоваться любые объекты.
В коллекции должны быть методы добавления, обновления, получения, удаления элемента, проверка наличия элемента по ключу (и по значению в случае двунаправленной таблицы), получение количества элементов в коллекции.
В случае совершения недопустимых операций выбрасывать исключения.
Протестировать работоспособность с помощью юнит-тестов, включая положительные (при корректных операциях с коллекцией она ведет себя корректно), и негативные тесты (исключения при некоректных операциях).