Enum std::collections::btree_map::Entry 1.0.0[−][src]
pub enum Entry<'a, K, V> where
K: 'a,
V: 'a, { Vacant(VacantEntry<'a, K, V>), Occupied(OccupiedEntry<'a, K, V>), }
Variants
Vacant(VacantEntry<'a, K, V>)
一个空的条目。
Occupied(OccupiedEntry<'a, K, V>)
一个被占用的条目。
Implementations
如果为空,则通过插入默认函数的结果,确保值在条目中。
通过为 .entry(key)
方法调用期间移动的键提供默认函数引用,此方法可以生成用于插入的键派生值。
提供了对已移动键的引用,因此不需要克隆或复制键,这与 .or_insert_with(|| ... )
不同。
Examples
use std::collections::BTreeMap; let mut map: BTreeMap<&str, usize> = BTreeMap::new(); map.entry("poneyland").or_insert_with_key(|key| key.chars().count()); assert_eq!(map["poneyland"], 9);Run
在任何潜在的插入 map 之前,提供对占用条目的就地可变访问。
Examples
use std::collections::BTreeMap; let mut map: BTreeMap<&str, usize> = BTreeMap::new(); map.entry("poneyland") .and_modify(|e| { *e += 1 }) .or_insert(42); assert_eq!(map["poneyland"], 42); map.entry("poneyland") .and_modify(|e| { *e += 1 }) .or_insert(42); assert_eq!(map["poneyland"], 43);Run