在 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= 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 的基本功能。你可以根据需要使用它们来处理数据。