Collections

Сравнение коллекций

КоллекцияДоступ по индексуВставкаПоискПамять
VecO(1)O(1) аморт.*O(n)Непрерывная
StringO(1) (по байтам)O(1) аморт.*O(n)Непрерывная
HashMapO(1) в среднемO(1) в среднемРазбросанная
HashSetO(1) в среднемO(1) в среднемРазбросанная

*Амортизированная O(1) — в среднем быстрая, но может быть O(n) при перевыделении памяти.

  • Vec хорош для последовательного доступа, но поиск медленный;
  • HashMap и HashSet быстры для поиска, но требуют больше памяти из-за хэш-таблицы.