Преимущества
Когда вы впервые слышите о хеш-таблицах, они звучат слишком хорошо, чтобы быть правдой. Причина заключается в том, что не имеет значения, сколько элементов выполняется поиск, вставка (иногда удаление) может занять приблизительно 0 (1), что в значительной степени происходит мгновенно из пользовательского POV. Учитывая его производительность с точки зрения скорости, хеш-таблицы используются в основном, но не ограничиваются программами, которые должны искать тысячи элементов менее чем за секунду (например, средства проверки орфографии / поисковые системы). С моей особой точки зрения, я считаю, что таблицы H гораздо проще программировать, чем любые виды двоичных деревьев, и я не эксперт, поэтому, если вы новичок, это может быть и преимуществом.
Недостатки
Поскольку хеш-таблицы основаны на массивах, их может быть сложно развернуть после создания. Также я читал, что для некоторых хеш-таблиц, когда они заполнены или заполнены полностью, скорость выполнения задачи, как известно, уменьшается. В результате того и другого при программировании вам нужно будет достаточно точно определить, сколько предметов нужно хранить. Кроме того, невозможно выполнить поиск элементов в хеш-таблице, например, от самого маленького до самого большого, поэтому, если это то, что вы ищете, это может быть не то, что вам нужно.
Дополнительная информация
Статьи из Википедии - Хеш-таблица - Big O Обозначения
Учебник по хеш-таблицам - Учебник
Все о хэш-таблицах - Java2S
Книжная консультация
Я советую вам купить книгу под названием «Структуры данных и алгоритмы в Java - второе издание - Роберт Лафоре», это большая книга, но в ней все объясняется очень тонко, для меня пока единственная книга по программированию я могу читать как роман.
Дополнительная информация относительно обозначения Big O - O (1)
O (1) не означает "почти мгновенный" (алгоритм O (1) может занять часы, недели или годы). Это означает (в данном случае) «не зависит от размера коллекции» (при условии, что хэш-код достаточно хорош). - Бен Лингс
Спасибо Бену за разъяснения.
P.S .: Вы можете захотеть быть более информативным в будущем, когда задаете вопрос таким образом, чтобы другие пользователи могли точно определить, что вы ищете.