Collections
- HashMap & BTreeMap
Rust HashMap and BTreeMap collections
- HashSet & BTreeSet
Rust HashMap and BTreeMap collections
- Vectors
Rust vectors
Сравнение коллекций
| Коллекция | Доступ по индексу | Вставка | Поиск | Память |
|---|---|---|---|---|
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быстры для поиска, но требуют больше памяти из-за хэш-таблицы.