Основные коллекции
В стандартной библиотеке Rust есть несколько очень полезных структур данных, которые называются коллекциями. Большинство типов данных представляют одно конкретное значение, а коллекции могут хранить много значений. В отличие от встроенных массивов и кортежей, данные коллекций хранятся в куче. Это значит, что объём данных не обязательно знать при компиляции: во время работы программы он может расти и уменьшаться. У каждого вида коллекций свои возможности и своя цена, и умение выбрать подходящую под задачу придёт со временем. В этой главе мы рассмотрим три коллекции, которые очень часто встречаются в программах на Rust:
- Вектор (vector) хранит переменное количество значений подряд, одно за другим.
- Строка (string) — это коллекция символов. Тип
Stringмы уже упоминали, а в этой главе разберём его подробно. - Хеш-таблица (hash map) позволяет связать значение с определённым ключом. Это конкретная реализация более общей структуры данных, которая называется отображением (map).
О других коллекциях из стандартной библиотеки читайте в документации.
Мы разберём, как создавать и изменять векторы, строки и хеш-таблицы и чем каждая из этих коллекций особенна.