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

Метод remove_entry

Метод remove_entry удаляет пару ключ-значение из хеш-таблицы HashMap и возвращает удалённые данные в виде кортежа (K, V), упакованного в Option. Параметром метод принимает ссылку на ключ &K, который нужно найти и удалить. Если ключ присутствовал в таблице, метод возвращает Some((key, value)), а если ключа не было - None. В отличие от метода remove, который возвращает только значение, данный метод отдаёт и ключ, и значение.

Синтаксис

hashmap.remove_entry(&key)

Пример

Давайте создадим хеш-таблицу и удалим из неё существующий ключ:

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

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

Some(("b", 2)) {"a": 1, "c": 3}

Пример

Давайте попробуем удалить ключ, которого нет в хеш-таблице:

use std::collections::HashMap; fn main() { let mut map = HashMap::new(); map.insert("a", 1); map.insert("b", 2); let res = map.remove_entry("z"); println!("{:?}", res); println!("{:?}", map); }

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

None {"a": 1, "b": 2}

Пример

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

use std::collections::HashMap; fn main() { let mut map = HashMap::new(); map.insert(1, "abcde"); map.insert(2, "12345"); match map.remove_entry(&1) { Some((key, value)) => { println!("Removed key: {}, value: {}", key, value); }, None => { println!("Key not found"); }, } println!("{:?}", map); }

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

Removed key: 1, value: abcde {2: "12345"}

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

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