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

Метод splice класса Vec

Метод splice заменяет диапазон элементов в векторе на элементы из итератора и возвращает удалённые элементы в виде итератора Splice. Первым параметром метод принимает диапазон (индексы начала и конца), вторым - итератор, элементы которого нужно вставить вместо удалённых. Возвращаемый итератор содержит элементы, которые были удалены из вектора. Если возвращаемый итератор не используется, удалённые элементы отбрасываются.

Синтаксис

vec.splice(range, replace_with)

Пример

Давайте заменим элементы с индексами от 1 до 3 в векторе vec![1, 2, 3, 4, 5] на новые значения [10, 20]:

fn main() { let mut v = vec![1, 2, 3, 4, 5]; v.splice(1..3, [10, 20]); println!("{:?}", v); }

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

[1, 10, 20, 4, 5]

Пример

Давайте получим удалённые элементы, сохранив возвращённый итератор в переменную:

fn main() { let mut v = vec![1, 2, 3, 4, 5]; let removed: Vec<_> = v.splice(1..3, [10, 20]).collect(); println!("{:?}", v); println!("{:?}", removed); }

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

[1, 10, 20, 4, 5] [2, 3]

Пример

Давайте используем пустой итератор, чтобы просто удалить элементы из вектора:

fn main() { let mut v = vec![1, 2, 3, 4, 5]; v.splice(1..4, []); println!("{:?}", v); }

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

[1, 5]

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

  • метод drain,
    который удаляет диапазон элементов и возвращает их итератор
  • метод insert,
    который вставляет элемент по указанному индексу
  • метод remove,
    который удаляет элемент по указанному индексу
  • метод extend,
    который добавляет элементы из итератора в конец вектора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить