Этот вопрос проверяет знание того, как в Rust можно собрать все элементы из итератора в вектор (Vec).
Для конвертации итератора в Vec используется функция .collect().
Функция .collect() является универсальным способом сбора элементов из итератора в контейнер. В случае с вектором (Vec), она преобразует все элементы итератора в новый вектор.
Метод .collect():
Работает с любым итератором и собирает его элементы в указанный контейнер.
Для вектора необходимо указать тип контейнера: Vec<_>.
Пример:
let nums = vec![1, 2, 3];
let doubled: Vec<i32> = nums.iter().map(|n| n * 2).collect();
println!("{:?}", doubled); // [2, 4, 6]Особенности:
.collect() работает только с типами, которые реализуют трейты FromIterator и IntoIterator, что делает её универсальной для большинства коллекций.
Можно собрать элементы итератора в различные типы данных, включая вектор, хэш-карту и другие.
Метод .collect() является удобным способом преобразования итератора в коллекцию в Rust. Это позволяет собирать данные в удобный контейнер, такой как вектор.