Struct std::collections::btree_map::OccupiedEntry1.0.0[][src]

pub struct OccupiedEntry<'a, K, V> where
    K: 'a,
    V: 'a, 
{ /* fields omitted */ }
Expand description

BTreeMap 中已占用条目的视图。 它是 Entry 枚举的一部分。

Implementations

获取条目中键的引用。

Examples

use std::collections::BTreeMap;

let mut map: BTreeMap<&str, usize> = BTreeMap::new();
map.entry("poneyland").or_insert(12);
assert_eq!(map.entry("poneyland").key(), &"poneyland");
Run

pub fn remove_entry(self) -> (K, V)

1.12.0[src]

从 map 获取键和值的所有权。

Examples

use std::collections::BTreeMap;
use std::collections::btree_map::Entry;

let mut map: BTreeMap<&str, usize> = BTreeMap::new();
map.entry("poneyland").or_insert(12);

if let Entry::Occupied(o) = map.entry("poneyland") {
    // 我们从 map 中删除该条目。
    o.remove_entry();
}

// 如果现在尝试获取该值,它将为 panic:
// println!("{}", map["poneyland"]);
Run

获取条目中值的引用。

Examples

use std::collections::BTreeMap;
use std::collections::btree_map::Entry;

let mut map: BTreeMap<&str, usize> = BTreeMap::new();
map.entry("poneyland").or_insert(12);

if let Entry::Occupied(o) = map.entry("poneyland") {
    assert_eq!(o.get(), &12);
}
Run

获取条目中的值的可变引用。

如果您需要引用可能比销毁 Entry 值还长的 OccupiedEntry,请参阅 into_mut

Examples

use std::collections::BTreeMap;
use std::collections::btree_map::Entry;

let mut map: BTreeMap<&str, usize> = BTreeMap::new();
map.entry("poneyland").or_insert(12);

assert_eq!(map["poneyland"], 12);
if let Entry::Occupied(mut o) = map.entry("poneyland") {
    *o.get_mut() += 10;
    assert_eq!(*o.get(), 22);

    // 我们可以多次使用同一个 Entry。
    *o.get_mut() += 2;
}
assert_eq!(map["poneyland"], 24);
Run

将条目转换为其值的可变引用。

如果需要多次引用 OccupiedEntry,请参见 get_mut

Examples

use std::collections::BTreeMap;
use std::collections::btree_map::Entry;

let mut map: BTreeMap<&str, usize> = BTreeMap::new();
map.entry("poneyland").or_insert(12);

assert_eq!(map["poneyland"], 12);
if let Entry::Occupied(o) = map.entry("poneyland") {
    *o.into_mut() += 10;
}
assert_eq!(map["poneyland"], 22);
Run

使用 OccupiedEntry 键设置条目的值,并返回条目的旧值。

Examples

use std::collections::BTreeMap;
use std::collections::btree_map::Entry;

let mut map: BTreeMap<&str, usize> = BTreeMap::new();
map.entry("poneyland").or_insert(12);

if let Entry::Occupied(mut o) = map.entry("poneyland") {
    assert_eq!(o.insert(15), 12);
}
assert_eq!(map["poneyland"], 15);
Run

从 map 中获取条目的值,并将其返回。

Examples

use std::collections::BTreeMap;
use std::collections::btree_map::Entry;

let mut map: BTreeMap<&str, usize> = BTreeMap::new();
map.entry("poneyland").or_insert(12);

if let Entry::Occupied(o) = map.entry("poneyland") {
    assert_eq!(o.remove(), 12);
}
// 如果我们尝试获得 `poneyland` 的值,则它将为 panic:
// println!("{}", map["poneyland"]);
Run

Trait Implementations

使用给定的格式化程序格式化该值。 Read more

Auto Trait Implementations

Blanket Implementations

获取 selfTypeIdRead more

从拥有的值中一成不变地借用。 Read more

从拥有的值中借用。 Read more

执行转换。

执行转换。

发生转换错误时返回的类型。

执行转换。

发生转换错误时返回的类型。

执行转换。