28. Чем массив (Array) отличается от множества (Set)?Теория
Дополнительные вопросы
1. Как множество определяет уникальность элемента?
2. Можно ли по хэшу восстановить исходное значение?
1. Как множество определяет уникальность элемента?
2. Можно ли по хэшу восстановить исходное значение?
Array хранит порядок и повторы, к элементу обращаются по индексу. Set хранит уникальные элементы без порядка, проверка «есть ли значение» у него быстрая.
Элемент множества должен быть Hashable.
1. Сначала по хэшу выбирается корзина, потом внутри неё элементы сравниваются через ==. Уникальность решает равенство. Одинаковые значения обязаны иметь один хэш, но один хэш ещё не значит, что значения равны.
2. Нет. Хэш не обязан быть обратимым, и у разных значений он может совпасть. По нему нельзя восстановить исходное значение.