Collections

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

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

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

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