Rust使用HashSet对Vec类型的元素进行去重

news2024/11/17 1:56:29

在Rust语言中,对Vec类型的元素进行去重,一种常见的方法是使用一个HashSet来帮助我们快速检查元素是否已经存在。以下是使用HashSet对Vec进行去重的示例代码:

use std::collections::HashSet;

fn main() {
    let vec_numbers = vec![1, 2, 2, 3, 4, 4, 5];
    let mut vec_unique_numbers = Vec::new();
    let mut seen = HashSet::new();

    for number in vec_numbers {
        if seen.insert(number) {
            vec_unique_numbers.push(number);
        }
    }

    println!("Unique numbers: {:?}", vec_unique_numbers);
}

运行后
在这里插入图片描述
在这段代码中:

1.我们首先导入了HashSet,它是Rust标准库中的一个集合类型,用于存储唯一的元素。

2.我们创建了一个numbers的Vec,它包含了一些重复的元素。

3.我们定义了两个变量:unique_numbers用于存放去重后的元素,seen是一个HashSet,用于存储已经遍历过的元素。

4.我们遍历numbers中的每个元素,对于每个元素,我们尝试将其插入到seen集合中。由于HashSet的insert方法返回一个布尔值,如果元素已经存在于集合中,返回false,否则返回true,我们可以利用这个特性来判断元素是否是重复的。

5.如果元素是第一次出现(即insert返回true),我们就将其添加到unique_numbers中。

6.最后,我们打印出unique_numbers,它包含了去重后的元素。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1665437.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据比赛-环境搭建(一)

1、安装VMware Workstation 链接:https://pan.baidu.com/s/1IvSFzpnQFl3svWyCGRtEmg 提取码:ukpo 内有安装包及破解方式,安装教程。 2、下载Ubuntu系统 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com) 点击下载&#xff…

The Sandbox 在利雅得的首次教育活动

2024年4月22日,The Sandbox 与沙特阿拉伯利雅得的 KACST(阿卜杜勒阿齐兹国王科技城)合作,举办了首次创作者研讨会。此次活动标志着沙特在推动生态系统增长和扩展方面的重要一步。 The Sandbox 的核心使命是通过无编程工具赋能下一…

在做题中学习(54):点名

LCR 173. 点名 - 力扣(LeetCode) 此题有不同的几种解法: 解法一:暴力枚举 O(n); 解法二:哈希表 把原数组丢入哈希表,遍历哈希表,看看哪个数值为0即可。 O(n)空间O(n)时间 解法三&…

【stm32-2】按键控制LED光敏传感器控制蜂鸣器

1.按键控制LED uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); //读取输入数据寄存器某一个端口的输入值 uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); //读取整个输入数据寄存器 uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDe…

Codeforces Round 944 (Div. 4) A - G

div.4只写部分题解了&#xff0c;都比较基础&#xff0c;数学偏多一点&#xff0c;几乎没有算法&#xff0c;有不懂的欢迎评论区提问&#xff01; A. My First Sorting Problem #include<bits/stdc.h> using namespace std ; typedef long long ll ; const int maxn 2…

vuex核心概念-mutations

目录 一、mutations基本认知 二、mutations的基本使用 三、mutations传参语法 四、注意 五、辅助函数&#xff1a;mapMutations 一、mutations基本认知 目标&#xff1a;明确vuex同样遵循单向数据流&#xff0c;组件中不能直接修改仓库的数据。 通过 strict:true可以开启…

掼蛋—开牌三步走

掼蛋是消遣也是一项脑力活动&#xff0c;除了牌运&#xff0c;还要掌握技巧。和大家一起分享一下掼蛋游戏中的“开牌三步走”技巧。 1、快速理牌 目的&#xff1a;潜力最大化 开局时可以快速查看一下自己的同花顺&#xff0c;优先保留不损害其他炸弹的同花顺&#xff0c;并及时…

使用 sudo apt upgrade 出现的提示

┌────────────────────────────────────────────────┤ Pending kernel upgrade ├────────────────────────────────────────────────┐ │ …

106短信群发平台在金融和法务行业的应用分析

一、金融行业应用 1.客户通知与提醒&#xff1a;银行、证券、保险等金融机构经常需要向客户发送各类通知和提醒&#xff0c;如账户余额变动、交易确认、扣费通知、理财产品到期提醒等。106短信群发平台可以快速、准确地将这些信息发送到客户的手机上&#xff0c;确保客户及时获…

c语言题库之多个数组从两边移动向中间汇聚

文章目录 题目分析代码实现代码分析 题目 c语言题库之多个数组从两边移动向中间汇聚 呈现效果&#xff1a;输入想要输入的字符数组呈现数组从两边向中间逐渐打开的样子 分析 首先我们需要一组我们想要输入的字符数组用来展示打开的字符其次我们需要进行对数组的替换&#x…

批量生成大量附件(如:excel,txt,pdf)压缩包等文件时前端超时,采用mq+redis异步处理和多线程优化提升性能

一.首先分析一下场景&#xff1a;项目中我需要从财务模块去取单证模块的数据来生成一个个excel文件 在单证那个一个提单号就是一个excel文件&#xff0c;我们这边一个财务发票可能会查出几千个提单&#xff0c;也就是会生成几百个excel&#xff0c;然后压缩为一个压缩包&#x…

接口自动化测试很难掌握吗?

一. 什么是接口测试 接口测试是一种软件测试方法&#xff0c;用于验证不同软件组件之间的通信接口是否按预期工作。在接口测试中&#xff0c;测试人员会发送请求并检查接收到的响应&#xff0c;以确保接口在不同场景下都能正常工作。 就工具而言&#xff0c;常见的测试工具有…

AI写作推荐-写文ai-AI在线写作生成器-3步完成写作任务

AI写作利器&#xff1a;推荐几款神助攻文案创作工具 随着技术的进步&#xff0c;人工智能&#xff08;AI&#xff09;已达到高级水平&#xff0c;在众多领域展现其强大能力。 在文本创作的领域&#xff0c;人工智能&#xff08;AI&#xff09;应用已显著地提升了写作效率和创意…

【计算机网络】物理层传输介质 习题3

双绞线是用两根绝缘导线绞合而成的&#xff0c;绞合的目的是( )。 A.减少干扰 B.提高传输速度 C.增大传输距离 D.增大抗拉强度 在电缆中采用屏蔽技术带来的好处主要是( ) A.减少信号衰减 B. 减少电磁干扰辐射 C.减少物理损坏 D. 减少电缆的阻抗 利用一根同轴电缆互连主机构成…

多功能投票小程序基于ThinkPHP+FastAdmin+Uniapp(源码搭建/上线/运营/售后/维护更新)

基于ThinkPHPFastAdminUniapp开发的多功能系统&#xff0c;支持图文投票、自定义选手报名内容、自定义主题色、礼物功能(高级授权)、弹幕功能(高级授权)、会员发布、支持数据库私有化部署&#xff0c;Uniapp提供全部无加密源码。 功能特性

Shopee虾皮行业分析:灯具类目市场价值超15亿,打造爆品先选好品

在东南亚这个充满活力的地区&#xff0c;灯具市场正如同其璀璨的夜空&#xff0c;闪烁着无限的可能性。 从繁华的新加坡到古老的曼谷&#xff0c;从繁忙的雅加达到宁静的河内&#xff0c;灯具在每个角落都扮演着至关重要的角色。 它们不仅照亮了家庭的温馨空间&#xff0c;也…

【C语言】/*操作符(下)*/

目录 一、操作符的分类 二、二进制和进制转换 2.1 进制 2.2 进制之间的转换 三、原码、反码、补码 四、单目操作符 五、逗号表达式 六、下标引用操作符[] 七、函数调用操作符() 八、结构体成员访问操作符 8.1 直接访问操作符(.) 8.2 间接访问操作符(->) 九、操作符…

【智能算法应用】基于果蝇算法-BP回归预测(FOA-BP)

目录 1.算法原理2.数学模型3.结果展示4.代码获取 1.算法原理 【智能算法应用】智能算法优化BP神经网络思路【智能算法】果蝇算法&#xff08;FOA&#xff09;原理及实现 2.数学模型 数据集样本特征数为13&#xff0c;适应度函数设计为&#xff1a; f i t n e s s e r r o…

skywalking的使用

文章目录 介绍概念介绍探针agent后台服务 使用后台界面查询异常接口查看访问量 遇到的问题 介绍 官网 https://skywalking.apache.org/ 安装包下载 https://skyapm.github.io/document-cn-translation-of-skywalking/ 组成 Agent&#xff08;探针&#xff09;&#xff1a;Ag…

UIKit之UIButton

功能需求&#xff1a; 点击按钮切换按钮的文字和背景图片&#xff0c;同时点击上下左右可以移动图片位置&#xff0c;点击加或减可以放大或缩小图片。 分析&#xff1a; 实现一个UIView的子类即可&#xff0c;该子类包含多个按钮。 实现步骤&#xff1a; 使用OC语言&#xf…