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

参见如下示例:

var set = new HashSet<int>() { 5, 9, 2, 1, 2, 2, 3, 7, 4, 9, 9 };
foreach (int element in set)
    Response.Write(string.Format(" {0}", element));

执行结果:


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

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

var set = new SortedSet<int>() { 5, 9, 2, 1, 2, 2, 3, 7, 4, 9, 9 };
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两个类。

最新文章

  1. Kafka如何创建topic?
  2. 夺命雷公狗---Thinkphp----13之前台的头尾分离和导航分离
  3. MySQL的存储引擎整理
  4. hdu 2079 选课时间
  5. TortoiseSVN优化设置
  6. body全屏
  7. Hadoop安全机制之令牌
  8. JAVA printWriter中write()和println()区别
  9. java学习笔记IO之File类
  10. asp.net core webapi 服务端配置跨域
  11. pip install在Windows下报错解决
  12. Python3 sys.argv[ ]的用法解释
  13. Django介绍、安装配置、基本使用、Django用户注册例子
  14. 关于DOM的事件操作
  15. 【Linux】grep命令
  16. ORACLE INSTANCE与EM系统
  17. windows 下的命令操作
  18. nginx, supervisor, celery
  19. Linux学习笔记&lt;五&gt;——&lt;Shell部分&gt;
  20. 扩展方法以及LinQ的学习

热门文章

  1. MySQL 添加审计功能
  2. Mysql 死锁
  3. How to modify a compiled Android application (.apk file)
  4. 游戏(game)
  5. Chrome 浏览器访问 Google 学术出现问题 “but your computer or network may be sending automated queries. ”
  6. js属性prototype的使用
  7. hihocoder #1415 : 后缀数组三&#183;重复旋律3
  8. 洛谷P2168 荷马史诗 [NOI2015]
  9. 用来武装Firebug的十四款Firefox插件
  10. GC+JVM