Оглавление
Создание вектора в RustДоступ к элементам вектораДобавление значений в векторУдаление значений из вектораИтерация по элементам вектора
Работа с векторами в Rust
12.02.2026

Вектор представляет собой динамическую структуру данных, способную хранить список элементов одного типа. Его размеры могут увеличиваться или уменьшаться во время выполнения программы.
Создание вектора в Rust
Создание вектора осуществляется с использованием макроса
vec!. Например:Здесь мы создаем вектор переменной
v с начальными значениями [1, 2, 3].Тип элемента определяется автоматически на основании переданных значений. Так, приведенный выше вектор имеет тип Vec<i32>.
Можно самостоятельно задать тип вектора:
Теперь вектор объявлен как имеющий элементы типа
u8.Альтернатива: инициализация пустого вектора
Также существует альтернативный способ создать пустой вектор:
Затем добавляем элементы с помощью метода
push():Доступ к элементам вектора
Каждый элемент вектора ассоциируется с уникальным индексом. Индексация начинается с нуля, следовательно, первый элемент находится по индексу 0.
Доступ к элементам осуществляется путем обращения к соответствующему индексу. Рассмотрим пример с цветами:
Индексирование выглядит следующим образом:
colors[0]: синий (blue)colors[1]: красный (red)colors[2]: зеленый (green)
Альтернативный метод доступа — использование метода
get():Метод возвращает значение типа Option<T> (
Some(value) или None), обеспечивая безопасность индексации вне диапазона.Например, обращение к несуществующему индексу:
Вернет
None.Добавление значений в вектор
Чтобы добавить новые элементы в конец вектора, используем метод
push(). Это возможно лишь для изменяемых векторов.Пример:
Удаление значений из вектора
Удалять элементы можно методом
remove(index), удаляя заданный по индексу элемент.При удалении элемента остальные смещаются, заполняя пробел.
Итерация по элементам вектора
Проход по элементам выполняется с помощью цикла
for. Например:Результат:
Использование цикла предпочтительнее прямого доступа по индексу, поскольку позволяет избежать проверки границ массива.

