zoukankan      html  css  js  c++  java
  • (转)HashSet<T>类

    转载于:http://www.importnew.com/6931.html


    HashSet<T>类主要是设计用来做高性能集运算的,例如对两个集合求交集、并集、差集等。集合中包含一组不重复出现且无特性顺序的元素。

    HashSet<T>的一些特性如下:

    1、HashSet<T>中的值不能重复且没有顺序。

    2、HashSet<T>的容量会按需自动添加。

    构造方法:

    HashSet() 默认相等比较器创建一个空的新实例。

    HashSet(IEnumerable<T> collection)  把指定集合中的collection中的数据复制到集中

    HashSet(IEqualityComparer<T> comparer)  使用指定的相等比较器创建一个空的新实例

    HashSet(IEnumerable<T> collection,IEqualityComparer<T> comparer)  使用指定的比较器实例化数据,且将指定集合中的元素复制到集合中。

    因为HashSet<T>是专门设计来做集合运算的,因此它提供的方法中有不少是和集合运算相关的。

    以下给出它的一些常用方法介绍

    成员        类型        说明

    Add        方法        将指定的元素添加到集合中

    Clear        方法         清空集合中的所有元素

    Contains        方法         确定某元素是否在HashSet<T>中

    Exists        方法         确定HashSet<T>是否包含于指定条件相匹配的元素

    ExceptWith    方法         从当前HashSet<T>移除指定集合中的所有元素

    IntersectWith     方法        修改当前的HashSet<T>对象,以仅包含该对象和指定集合中存在的元素

    IsProperSubsetOf  方法        确定HashSet<T>对象是否为指定集合的真子集

    IsProperSupersetOf 方法        确定HashSet<T>对象是否为指定集合的真超集

    IsSunsetOf     方法         确定HashSet<T>对象是否为指定集合的子集

    IsSupersetOf    方法         确定HashSet<T>对象是否为指定集合的超集

    Remove      方法         从HashSet<T>对象中移除指定的元素

    RemoveWhere    方法         从HashSet<T>集合中移除与指定谓词所定义的条件相匹配的所有元素

    SetEquals     方法         确定HashSet<T>对象与指定的集合中是否包含相同的元素

    SynmmetricExceptWith  方法     修改当前的HashSet<T>对象,以仅包含该对象或指定集合中存在的元素

    TrimExcess    方法         将HashSet<T>对象的容量设置为它所包含的元素的实际个数,向上舍入为接近的特性与实现的值。

    UnionWith     方法         修改当前的HashSet<T>对象,以包含该对象本身和指定集合中存在的所有元素

     给个简单的例子,写不完的,总之记得HashSet<T>主要的作用是用来进行,交集、并集等运算的就OK了。

    复制代码
            static void Main(string[] args)
            {
                HashSet<string> hs = new HashSet<string>();
                hs.Add("你");
                hs.Add("好");
                hs.Add("吗");
                HashSet<string> hs1 = new HashSet<string>();
                hs1.Add("你");
                hs1.Add("好");
    
                bool b = hs1.IsProperSubsetOf(hs);  //确定hs1是否是hs的真子集
                Console.WriteLine(b);       //输出True
    
    
                HashSet<string> hs2 = new HashSet<string>();
                hs2.Add("爱你");
                IEnumerable<string> list = hs.Union(hs2);   //返回并集
                foreach (string str in list)
                {
                    Console.WriteLine(str);     //输出 你 好 吗 爱你
                }
    
                Console.ReadKey();
            }
    复制代码
  • 相关阅读:
    jQuery Mobile方向感应事件
    Linq-多条件查询
    linux top命令详解
    在Python中调用C++,使用SWIG
    linux下core文件调试方法
    如何设置、查看以及调试core文件
    标准C++中的string类的用法总结(转)
    实用make最佳实践
    GDB多进程调试(转)
    GDB详解
  • 原文地址:https://www.cnblogs.com/Willie-WangLiang/p/7656164.html
Copyright © 2011-2022 走看看