Это полностью зависит от количества данных, которые вы сохранили.
Предполагая, что у вас достаточно памяти для его создания (таким образом, хеш-таблица достаточно велика), хеш-таблица найдет целевые данные за фиксированный промежуток времени, но необходимость вычисления хеша добавит некоторые (также фиксированные ) накладные расходы.
Поиск в отсортированном списке не потребует дополнительных затрат на хэширование, но время, необходимое для фактической работы с целевыми данными, будет увеличиваться по мере роста списка.
Таким образом, в общем случае отсортированный список будет быстрее для небольших наборов данных. (Для очень маленьких наборов данных, которые часто изменяются и / или редко ищутся, отсортированный список un может быть даже быстрее, поскольку он позволяет избежать лишних затрат на выполнение сортировки.) Поскольку набор данных становится большим, увеличение времени поиска в списке затмевает фиксированные издержки хэширования, и хеш-таблица становится быстрее.
Где эта точка останова будет меняться в зависимости от вашей конкретной хеш-таблицы и реализаций поиска по отсортированному списку. Выполните тесты и сравните производительность на нескольких наборах данных типичного размера, чтобы увидеть, какие из них действительно будут эффективнее в вашем конкретном случае. (Или, если код уже работает «достаточно быстро», не надо. Просто используйте тот, который вам удобнее, и не беспокойтесь об оптимизации чего-то, что не нужно оптимизировать.)