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

Метод dedup

Метод dedup удаляет подряд идущие дубликаты элементов из вектора. Метод не принимает параметров и не возвращает значения. Важно понимать, что метод удаляет только последовательные дубликаты, поэтому перед вызовом dedup вектор часто сортируют с помощью метода sort.

Синтаксис

vec.dedup();

Пример

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

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

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

[1, 2, 3, 4, 5]

Пример

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

fn main() { let mut res = vec![1, 2, 1, 2, 1, 2]; res.dedup(); println!("{:?}", res); }

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

[1, 2, 1, 2, 1, 2]

Пример

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

fn main() { let mut res = vec![3, 1, 2, 1, 3, 2, 1]; res.sort(); res.dedup(); println!("{:?}", res); }

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

[1, 2, 3]

Пример

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

fn main() { let mut res = vec!["a", "a", "b", "b", "b", "c", "d", "d"]; res.dedup(); println!("{:?}", res); }

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

["a", "b", "c", "d"]

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

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