本文简要介绍rust语言中 Struct alloc::collections::btree_set::BTreeSet
的用法。
用法
pub struct BTreeSet<T> { /* fields omitted */ }
基于B-Tree 的集合。
请参阅 BTreeMap
的文档,详细讨论此集合的性能优势和劣势。
以这样一种方式修改项目是一个逻辑错误,即项目相对于任何其他项目的排序(由 Ord
特征确定)在它位于集合中时发生变化。这通常只能通过 Cell
、 RefCell
、全局状态、I/O 或不安全代码实现。未指定由此类逻辑错误导致的行为(它可能包括Panics、不正确的结果、中止、内存泄漏或未终止),但不会是未定义的行为。
例子
use std::collections::BTreeSet;
// Type inference lets us omit an explicit type signature (which
// would be `BTreeSet<&str>` in this example).
let mut books = BTreeSet::new();
// Add some books.
books.insert("A Dance With Dragons");
books.insert("To Kill a Mockingbird");
books.insert("The Odyssey");
books.insert("The Great Gatsby");
// Check for a specific one.
if !books.contains("The Winds of Winter") {
println!("We have {} books, but The Winds of Winter ain't one.",
books.len());
}
// Remove a book.
books.remove("The Odyssey");
// Iterate over everything.
for book in &books {
println!("{}", book);
}
可以从数组初始化具有已知项目列表的BTreeSet
:
use std::collections::BTreeSet;
let set = BTreeSet::from([1, 2, 3]);
相关用法
- Rust BTreeSet.insert用法及代码示例
- Rust BTreeSet.get用法及代码示例
- Rust BTreeSet.split_off用法及代码示例
- Rust BTreeSet.is_disjoint用法及代码示例
- Rust BTreeSet.append用法及代码示例
- Rust BTreeSet.take用法及代码示例
- Rust BTreeSet.is_subset用法及代码示例
- Rust BTreeSet.len用法及代码示例
- Rust BTreeSet.difference用法及代码示例
- Rust BTreeSet.replace用法及代码示例
- Rust BTreeSet.pop_first用法及代码示例
- Rust BTreeSet.pop_last用法及代码示例
- Rust BTreeSet.last用法及代码示例
- Rust BTreeSet.contains用法及代码示例
- Rust BTreeSet.drain_filter用法及代码示例
- Rust BTreeSet.intersection用法及代码示例
- Rust BTreeSet.retain用法及代码示例
- Rust BTreeSet.first用法及代码示例
- Rust BTreeSet.range用法及代码示例
- Rust BTreeSet.union用法及代码示例
- Rust BTreeSet.clear用法及代码示例
- Rust BTreeSet.is_superset用法及代码示例
- Rust BTreeSet.iter用法及代码示例
- Rust BTreeSet.remove用法及代码示例
- Rust BTreeSet.is_empty用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Struct alloc::collections::btree_set::BTreeSet。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。