<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          NET(C#) HashSet、SortedSet和Hashtable的使用

          共 2869字,需瀏覽 6分鐘

           ·

          2022-02-27 00:30

          本文主要介紹.NET(C#)中,HashSet、SortedSet和Hashtable的使用,以及相關(guān)的示例代碼。


          1、HashSet

          HashSet類提供高性能的設(shè)置操作。集是不包含重復(fù)元素的集合,其元素?zé)o特定順序。泛型的使用保證類型安全,可以避免裝箱拆箱。對象的容量?HashSet?是對象可以容納的元素數(shù)。?HashSet當(dāng)向?qū)ο筇砑釉貢r,對象的容量會自動增加。兩個集合求交集、并集、差集和補(bǔ)集等操作。

          例如,

          Console.WriteLine("***************HashSet******************");HashSet<string> hashSet = new HashSet<string>();hashSet.Add("C#");hashSet.Add("C/C++");hashSet.Add("Java");hashSet.Add("Python");hashSet.Add("Python");hashSet.Add("Python");//hashSet[0];foreach (var item in hashSet){    Console.WriteLine(item);}Console.WriteLine(hashSet.Count);Console.WriteLine(hashSet.Contains("Python"));HashSet<string> hashSet1 = new HashSet<string>();hashSet1.Add("C#");hashSet1.Add("C/C++");hashSet1.Add("Java");hashSet1.Add("Python");hashSet1.Add("Python");hashSet1.Add("Python");hashSet1.SymmetricExceptWith(hashSet);//補(bǔ)hashSet1.UnionWith(hashSet);//并hashSet1.ExceptWith(hashSet);//差hashSet1.IntersectWith(hashSet);//交hashSet.ToList();hashSet.Clear();


          2、SortedSet

          SortedSet表示按排序順序維護(hù)的對象的集合。SortedSet?對象在插入和刪除元素時維護(hù)排序順序,而不會影響性能。

          例如,

          Console.WriteLine("***************SortedSet******************");SortedSet<string> sortedSet = new SortedSet<string>();//IComparer comparer  自定義對象要排序,就用這個指定sortedSet.Add("C#");sortedSet.Add("C/C++");sortedSet.Add("Java");sortedSet.Add("Python");sortedSet.Add("Python");sortedSet.Add("Python");foreach (var item in sortedSet){    Console.WriteLine(item);}Console.WriteLine(sortedSet.Count);Console.WriteLine(sortedSet.Contains("Python"));{    SortedSet<string> sortedSet1 = new SortedSet<string>();    sortedSet1.Add("C#");    sortedSet1.Add("C/C++");    sortedSet1.Add("Java");    sortedSet1.Add("Python");    sortedSet1.Add("Python");    sortedSet1.Add("Python");    sortedSet1.SymmetricExceptWith(sortedSet);//補(bǔ)    sortedSet1.UnionWith(sortedSet);//并    sortedSet1.ExceptWith(sortedSet);//差    sortedSet1.IntersectWith(sortedSet);//交}sortedSet.ToList();sortedSet.Clear();



          3、Hashtable

          Hashtable表示根據(jù)鍵的哈希代碼進(jìn)行組織的鍵/值對的集合。任何元素都是當(dāng)成object處理,如果是值類型,會有裝箱操作。不推薦使用?Hashtable?類進(jìn)行新的開發(fā)。推薦使用泛型?Dictionary?類。

          例如,

          Console.WriteLine("***************Hashtable******************");Hashtable table = new Hashtable();table.Add("code", "C#");table[1011] = "Java";table[1012] = "Python";table[1014] = 3333;table[1015] = 4444;table["cjavapy"] = 5457;foreach (DictionaryEntry objDE in table){    Console.WriteLine(objDE.Key.ToString());    Console.WriteLine(objDE.Value.ToString());}//線程安全,Hashtable.Synchronized(table)返回 Hashtable 的同步(線程安全)包裝。var shash = Hashtable.Synchronized(table);//只有一個線程寫  多個線程讀//顯示兩個哈希表的同步狀態(tài)Console.WriteLine("table: {0}", table.IsSynchronized ? "synchronized" : "not synchronized" );Console.WriteLine("shash: {0}", shash.IsSynchronized ? "synchronized" : "not synchronized");

          出處:https://www.cjavapy.com/article/2510/


          版權(quán)申明:本文來源于網(wǎng)友收集或網(wǎng)友提供,僅供學(xué)習(xí)交流之用,如果有侵權(quán),請轉(zhuǎn)告版主或者留言,本公眾號立即刪除。


          支持小微:

          騰訊云 爆款2核2G云服務(wù)器首年40元,企業(yè)首購最高獲贈300元京東卡

          鏈接:https://curl.qcloud.com/1VVs7OBH


          右下角,您點(diǎn)一下在看圖片dda68b1a87a76fdfa8a44220bc736ea2.webp

          小微工資漲1毛

          商務(wù)合作QQ:185601686



          瀏覽 28
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲成a人v欧美综合天堂 | 俺也去官网 | 精品无码系列 | 欧美一交一乱一交一色一色情 | 黄色视频在线免费观 |