当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust BTreeMap.range_mut用法及代码示例


本文简要介绍rust语言中 alloc::collections::btree_map::BTreeMap.range_mut 的用法。

用法

pub fn range_mut<T: ?Sized, R>(&mut self, range: R) -> RangeMut<'_, K, V> where    T: Ord,    K: Borrow<T> + Ord,    R: RangeBounds<T>,

在映射中的 sub-range 个元素上构造一个可变的双端迭代器。最简单的方法是使用范围语法 min..max ,因此 range(min..max) 将产生从 min(包括)到 max(不包括)的元素。该范围也可以输入为 (Bound<T>, Bound<T>) ,因此例如 range((Excluded(4), Included(10))) 将产生一个从 4 到 10 的 left-exclusive、right-inclusive 范围。

Panics

如果范围 start > end 出现Panics。如果范围 start == end 和两个边界都是 Excluded ,则会出现Panics。

例子

基本用法:

use std::collections::BTreeMap;

let mut map: BTreeMap<&str, i32> = ["Alice", "Bob", "Carol", "Cheryl"]
    .iter()
    .map(|&s| (s, 0))
    .collect();
for (_, balance) in map.range_mut("B".."Cheryl") {
    *balance += 100;
}
for (name, balance) in &map {
    println!("{} => {}", name, balance);
}

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 alloc::collections::btree_map::BTreeMap.range_mut。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。