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

Класс Entry

Класс Entry представляет собой представление одной записи в HashMap. Он позволяет работать с значением по ключу без повторного поиска в хеш-таблице. Класс Entry обычно используется совместно с методом entry, который принимает ключ и возвращает значение типа Entry для этого ключа. Через Entry можно вставить значение, если ключа ещё нет, изменить существующее значение или прочитать его.

Синтаксис

HashMap::entry(&mut self, key: K) -> Entry<K, V>

Пример

Давайте создадим HashMap и получим запись для ключа "a" с помощью метода entry:

use std::collections::HashMap; fn main() { let mut map = HashMap::new(); let entry = map.entry("a"); println!("{:?}", entry); }

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

Entry(Vacant)

Пример

Давайте вставим значение через Entry с помощью метода or_insert, если ключа ещё нет:

use std::collections::HashMap; fn main() { let mut map = HashMap::new(); map.entry("a").or_insert(1); println!("{:?}", map); }

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

{"a": 1}

Пример

Давайте изменим существующее значение через Entry с помощью метода and_modify:

use std::collections::HashMap; fn main() { let mut map = HashMap::new(); map.insert("a", 1); map.entry("a").and_modify(|v| *v += 10); println!("{:?}", map); }

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

{"a": 11}

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

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