阅读量:117
在 Rust 中,Set 是一种无序且不包含重复元素的数据结构
- 创建一个 Set:
use std::collections::HashSet;
let mut set = HashSet::new();
- 向 Set 中添加元素:
set.insert(1);
set.insert(2);
set.insert(3);
- 从 Set 中删除元素:
set.remove(&1); // 删除元素 1
- 检查 Set 中是否包含某个元素:
if set.contains(&2) {
println!("Set contains 2");
}
- 获取 Set 的大小:
let size = set.len(); // 返回 Set 中的元素个数
- 清空 Set:
set.clear(); // 清空 Set 中的所有元素
- 遍历 Set:
for element in &set {
println!("{}", element);
}
- 将一个 Set 转换为另一个类型的 Set(例如,从
HashSet转换为BTreeSet):
use std::collections::BTreeSet;
let btree_set: BTreeSet<i32> = set.into();
- 合并两个 Set:
let mut set1 = HashSet::new();
set1.insert(1);
set1.insert(2);
let mut set2 = HashSet::new();
set2.insert(2);
set2.insert(3);
set1.union(&set2); // 合并 set1 和 set2
- 交集:
let mut set1 = HashSet::new();
set1.insert(1);
set1.insert(2);
let mut set2 = HashSet::new();
set2.insert(2);
set2.insert(3);
let intersection = set1.intersection(&set2); // 获取 set1 和 set2 的交集
- 差集:
let mut set1 = HashSet::new();
set1.insert(1);
set1.insert(2);
let mut set2 = HashSet::new();
set2.insert(2);
set2.insert(3);
let difference = set1.difference(&set2); // 获取 set1 和 set2 的差集
这些操作只是 Rust 中 Set 的基本功能。你可以根据需要使用它们来处理数据。