HashSet和SortSet对比--c#学习笔记

 

微软在 .NET 3.5 新增了一个 HashSet 类,在 .NET 4 新增了一个 SortedSet 类. .NET Collection 函数库的 HashSet、SortedSet 这两个泛型的类,都实现了 System.Collections.Generic.ISet 接口.

参见如下示例:

var set = new HashSet<int>() { 59212237499 };
foreach (int element in set)
    Response.Write(string.Format(" {0}", element)); 

执行结果:


图 1 重复的元素自动被移除

同样的代码,把 HashSet 改成 SortedSet,如下:

var set = new SortedSet<int>() { 59212237499 };
foreach (int element in set)
    Response.Write(string.Format(" {0}", element)); 

执行结果:


图 2 重复的元素自动被移除,且内部会自动做排序

说明:

  1. HashSet和SortSet主要的作用是用来进行,两个集合求交集、并集、差集等运算.集合中包含一组不重复出现且无特性顺序的元素。前者不会自动排序,后者会加入元素后,自动排序。
  2. 两者都无法从特定位置访问其中某个元素。
  3. 可以使用其查找功能:

    Set.Contains("value"); 返回true或false。

  4. 对集合做操作:
  • SymmetricExceptWith: 仅包含该对象或指定集合中存在的元素(但不可同时包含两者中的元素)。去除交集,剩下两个集合元素
  • UnionWith: 包含该对象本身和指定集合中存在的所有元素。并集
  • ExceptWith: 从当前 HashSet<T> 对象中移除指定集合中的所有元素。差集
  • IntersectWith: 仅包含该对象和指定集合中存在的元素。交集

     5.SortedSet对象,可以调用GetViewBetween、Max、Min 方法。

     6.除了SortedSet外,System.Collections.Generic命名空间下,还提供了SortedDictionary和SortedList两个类。

转载于:https://www.cnblogs.com/xinyuxin912/p/3520593.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值