(轉)HashSet類

轉載於:http://www.importnew.com/6931.htmlhtml


 

HashSet<T>類主要是設計用來作高性能集運算的,例如對兩個集合求交集、並集、差集等。集合中包含一組不重複出現且無特性順序的元素。性能

HashSet<T>的一些特性以下:spa

一、HashSet<T>中的值不能重複且沒有順序。設計

二、HashSet<T>的容量會按需自動添加。code

構造方法:htm

HashSet() 默認相等比較器建立一個空的新實例。對象

HashSet(IEnumerable<T> collection)  把指定集合中的collection中的數據複製到集中blog

HashSet(IEqualityComparer<T> comparer)  使用指定的相等比較器建立一個空的新實例get

HashSet(IEnumerable<T> collection,IEqualityComparer<T> comparer)  使用指定的比較器實例化數據,且將指定集合中的元素複製到集合中。string

由於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();
        }
複製代碼
相關文章
相關標籤/搜索