РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
624 of 1245 menu

Метод collect

Метод collect преобразует итератор в конечную коллекцию. Он принимает все элементы итератора и собирает их в указанный тип. Параметром метод не принимает ничего, однако требует явного указания типа коллекции через аннотацию типа или турборыж. Метод часто используется в конце цепочек итераторов для получения конкретного контейнера.

Синтаксис

iterator.collect::<Collection>()

Пример

Давайте соберем элементы итератора в вектор:

fn main() { let res: Vec<i32> = vec![1, 2, 3, 4, 5] .into_iter() .collect(); println!("{:?}", res); }

Результат выполнения кода:

[1, 2, 3, 4, 5]

Пример

Давайте соберем символы строки в вектор:

fn main() { let res: Vec<char> = "abcde".chars().collect(); println!("{:?}", res); }

Результат выполнения кода:

['a', 'b', 'c', 'd', 'e']

Пример

Давайте соберем элементы итератора в строку:

fn main() { let res: String = vec!["a", "b", "c"] .into_iter() .collect(); println!("{}", res); }

Результат выполнения кода:

"abc"

Пример

Давайте используем метод вместе с map для преобразования элементов:

fn main() { let res: Vec<i32> = vec![1, 2, 3, 4, 5] .into_iter() .map(|x| x * 2) .collect(); println!("{:?}", res); }

Результат выполнения кода:

[2, 4, 6, 8, 10]

Смотрите также

  • класс Iterator,
    который представляет собой основной трейт для работы с итераторами
  • метод map,
    который преобразует каждый элемент итератора
  • метод filter,
    который оставляет только элементы, удовлетворяющие условию
  • метод fold,
    который сворачивает итератор в одно значение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить