Collections

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

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

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

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