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


Rust BTreeSet.range用法及代码示例


本文简要介绍rust语言中 std::collections::BTreeSet.range 的用法。

用法

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

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

例子

use std::collections::BTreeSet;
use std::ops::Bound::Included;

let mut set = BTreeSet::new();
set.insert(3);
set.insert(5);
set.insert(8);
for &elem in set.range((Included(&4), Included(&8))) {
    println!("{}", elem);
}
assert_eq!(Some(&5), set.range(4..).next());

相关用法


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