Я отвечу на эту часть о разнице между хеш-таблицей и массивом ... но так как я никогда раньше не реализовывал алгоритм хеширования какого-либо импорта, я оставлю это кому-то более знающему:)
Массив - это просто упорядоченный список объектов. Сам объект на самом деле не имеет значения ... важно то, что если вы хотите перечислить объекты в порядке вставки, это всегда то же самое (это означает, что первый элемент всегда имеет индекс 0 ).
Что касается хеш-таблицы, которая индексируется по ключам, а не по порядку ... Я думаю, что базовый поиск по алгоритмам хеширования даст вам гораздо больше понимания, чем я ... Википедия имеет очень приличную ... определяет «корзину», в которую попадают ключи для быстрого поиска произвольных объектов, используемых в качестве ключей.
Что касается преимуществ: если важен порядок вставки, необходим массив или какой-то упорядоченный список. Если важен быстрый поиск по произвольному ключу (основанному на различных хэш-функциях), тогда хеш-таблица имеет смысл.