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

Метод extend

Метод extend добавляет в хеш-таблицу все пары ключ-значение из переданного итератора. Параметром метод принимает итератор, элементами которого являются кортежи вида (K, V), где K - тип ключа, а V - тип значения. Если добавляемый ключ уже присутствует в таблице, его значение будет перезаписано новым.

Синтаксис

hashmap.extend(iter)

Пример

Давайте создадим хеш-таблицу и добавим в неё элементы из вектора кортежей:

use std::collections::HashMap; fn main() { let mut map = HashMap::new(); let items = vec![(1, "a"), (2, "b"), (3, "c")]; map.extend(items); println!("{:?}", map); }

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

{1: "a", 2: "b", 3: "c"}

Пример

Если добавляемый ключ уже есть в таблице, то его значение будет заменено новым:

use std::collections::HashMap; fn main() { let mut map = HashMap::new(); map.insert(1, "a"); map.insert(2, "b"); let items = vec![(2, "x"), (3, "c")]; map.extend(items); println!("{:?}", map); }

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

{1: "a", 2: "x", 3: "c"}

Пример

Метод extend также умеет объединять две хеш-таблицы. Давайте создадим две таблицы и добавим содержимое одной в другую:

use std::collections::HashMap; fn main() { let mut map1 = HashMap::new(); map1.insert(1, "a"); map1.insert(2, "b"); let mut map2 = HashMap::new(); map2.insert(2, "x"); map2.insert(3, "c"); map1.extend(map2); println!("{:?}", map1); }

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

{1: "a", 2: "x", 3: "c"}

Пример

Метод extend можно использовать с любым итератором, например с результатом вызова метода map:

use std::collections::HashMap; fn main() { let mut map = HashMap::new(); let nums = vec![1, 2, 3]; map.extend(nums.iter().map(|x| (*x, x * 10))); println!("{:?}", map); }

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

{1: 10, 2: 20, 3: 30}

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

  • метод insert,
    который добавляет одну пару ключ-значение в таблицу
  • метод new,
    который создаёт пустую хеш-таблицу
  • метод iter,
    который возвращает итератор по парам ключ-значение
  • метод entry,
    который возвращает точку входа для работы с ключом
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить