Класс Vec
Класс Vec - это динамический массив,
который может хранить произвольное количество
элементов одного типа. В отличие от массивов,
размер вектора может изменяться во время
выполнения программы: элементы можно добавлять,
удалять и изменять. Вектор хранит данные в
куче, что позволяет ему расти по мере необходимости.
Создать вектор можно с помощью макроса vec!,
метода new или метода with_capacity.
Тип элементов указывается в угловых скобках,
например Vec<i32> или Vec<String>.
Синтаксис
let v: Vec<T> = Vec::new();
let v = vec![elem1, elem2, elem3];
let v: Vec<T> = Vec::with_capacity(n);
Пример
Давайте создадим вектор с помощью макроса
vec! и выведем его на экран:
fn main()
{
let res = vec![1, 2, 3, 4, 5];
println!("{:?}", res);
}
Результат выполнения кода:
[1, 2, 3, 4, 5]
Пример
Давайте создадим пустой вектор с помощью метода
new, добавим в него элементы методом
push и выведем результат:
fn main()
{
let mut res: Vec<i32> = Vec::new();
res.push(1);
res.push(2);
res.push(3);
println!("{:?}", res);
}
Результат выполнения кода:
[1, 2, 3]
Пример
Давайте получим длину вектора с помощью метода
len и выведем её на экран:
fn main()
{
let res = vec![1, 2, 3, 4, 5];
println!("{}", res.len());
}
Результат выполнения кода:
5
Пример
Давайте создадим вектор строк и выведем его на экран:
fn main()
{
let res = vec!["a", "b", "c", "d", "e"];
println!("{:?}", res);
}
Результат выполнения кода:
["a", "b", "c", "d", "e"]