HashSet 概述
-
HashSet<T>
存储的元素是无序的 -
HashSet<T>
存储的元素是不可重复的 -
HashSet<T>
支持泛型,可以指定存储的元素的类型 -
HashSet<T>
不支持索引,不可以通过索引获取或修改元素 -
HashSet<T>
不是线程安全的,在多线程环境中需要谨慎使用
一、HashSet 的定义
- 定义 HashSet
HashSet<int> nums = new HashSet<int>();
HashSet<string> names = new HashSet<string>();
- 定义 HashSet 并填充一些元素
HashSet<int> nums = new HashSet<int> { 1, 2, 3 };
HashSet<string> names = new HashSet<string> { "tom", "jack" };
二、HashSet 元素的基本操作
1、HashSet 元素的添加
HashSet<int> nums = new HashSet<int>();
nums.Add(1);
nums.Add(2);
nums.Add(3);
2、HashSet 元素的访问
- 注:HashSet 不支持索引,不可以通过索引获取或修改元素
HashSet<int> nums = new HashSet<int>();
nums.Add(1);
nums.Add(2);
nums.Add(3);
foreach (int num in nums)
{
Console.WriteLine(num);
}
# 输出结果
1
2
3
三、HashSet 元素的遍历
HashSet<int> nums = new HashSet<int>();
nums.Add(1);
nums.Add(2);
nums.Add(3);
foreach (int num in nums)
{
Console.WriteLine(num);
}
# 输出结果
1
2
3
四、HashSet 的常用方法
1、HashSet 元素的检测
HashSet<int> nums = new HashSet<int>();
nums.Add(1);
nums.Add(2);
nums.Add(3);
Console.WriteLine(nums.Contains(1));
Console.WriteLine(nums.Contains(2));
# 输出结果
True
True
2、HashSet 元素的删除
HashSet<int> nums = new HashSet<int>();
nums.Add(1);
nums.Add(2);
nums.Add(3);
Console.WriteLine("删除元素之前");
foreach (int num in nums)
{
Console.WriteLine(num);
}
nums.Remove(2);
Console.WriteLine("删除元素之后");
foreach (int num in nums)
{
Console.WriteLine(num);
}
# 输出结果
删除元素之前
1
2
3
删除元素之后
1
3
3、HashSet 大小的获取
HashSet<int> nums = new HashSet<int>();
nums.Add(1);
nums.Add(2);
nums.Add(3);
Console.WriteLine(nums.Count);
# 输出结果
3
4、HashSet 元素的清空
HashSet<int> nums = new HashSet<int>();
nums.Add(1);
nums.Add(2);
nums.Add(3);
Console.WriteLine("清空集合之前");
Console.WriteLine(nums.Count);
nums.Clear();
Console.WriteLine("清空集合之后");
Console.WriteLine(nums.Count);
# 输出结果
清空集合之前
3
清空集合之后
0
标签:Console,nums,元素,HashSet,Add,WriteLine,new,基本操作
From: https://blog.csdn.net/weixin_52173250/article/details/143643648