温馨提示×

rust set 有哪些操作

小樊
118
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