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

在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,它包含了去重后的元素。


相关推荐

  1. Rust Vec<u8> 类型

    2024-05-09 11:56:06       37 阅读
  2. Rust 语言中 Vec 元素删除方法

    2024-05-09 11:56:06       38 阅读
  3. RustVec<T>

    2024-05-09 11:56:06       68 阅读
  4. python数据分析numpy基础之unique数组元素

    2024-05-09 11:56:06       43 阅读
  5. python进行字典

    2024-05-09 11:56:06       33 阅读
  6. Python 字典组成数组怎么进行?

    2024-05-09 11:56:06       45 阅读
  7. Rust-使用Serdejson数据进行反序列化

    2024-05-09 11:56:06       66 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-09 11:56:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-09 11:56:06       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-09 11:56:06       82 阅读
  4. Python语言-面向对象

    2024-05-09 11:56:06       91 阅读

热门阅读

  1. 数据结构(二)关于空间的使用

    2024-05-09 11:56:06       29 阅读
  2. 基于微信小程序的网上购物系统的设计与实现

    2024-05-09 11:56:06       30 阅读
  3. TS学习-类的继承

    2024-05-09 11:56:06       38 阅读
  4. 图搜索算法详解-概述

    2024-05-09 11:56:06       31 阅读
  5. centos常用命令介绍

    2024-05-09 11:56:06       29 阅读