温馨提示×

rust set 有哪些操作

小樊
81
2024-12-06 21:32:27
栏目: 编程语言

在 Rust 中,Set 是一种无序且不包含重复元素的数据结构

  1. 创建一个 Set:
use std::collections::HashSet;
let mut set = HashSet::new();
  1. 向 Set 中添加元素:
set.insert(1);
set.insert(2);
set.insert(3);
  1. 从 Set 中删除元素:
set.remove(&1); // 删除元素 1
  1. 检查 Set 中是否包含某个元素:
if set.contains(&2) {
    println!("Set contains 2");
}
  1. 获取 Set 的大小:
let size = set.len(); // 返回 Set 中的元素个数
  1. 清空 Set:
set.clear(); // 清空 Set 中的所有元素
  1. 遍历 Set:
for element in &set {
    println!("{}", element);
}
  1. 将一个 Set 转换为另一个类型的 Set(例如,从 HashSet 转换为 BTreeSet):
use std::collections::BTreeSet;
let btree_set: BTreeSet<i32> = set.into();
  1. 合并两个 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
  1. 交集:
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 的交集
  1. 差集:
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 的基本功能。你可以根据需要使用它们来处理数据。

0