HashSet در C#
شنبه 22 شهریور 1393استفاده از HashSet برای نمایش مجموعه ها
در این مقاله سعی داریم تا در مورد مجموعه HashSet در C# مطالبی را بیاموزیم. این مجموعه بسیار خوب از C# 3.5 قابل دسترس است که همچون مجموعه های دیگر می تواند برای نمایش مجموعه ای از مقادیر استفاده شود.این مجموعه یک مجموعه بهینه شده است ،که به حذف کپی رشته یا عناصر کمک می کند.هر زمانی که یک ایتم در مجموعه اضافه می شود چک میشود که این ایتم قبلا در مجموعه بوده یا خیر و در صورتی که قبلا موجود نبوده ایتم اضافه می شود.
بیایید تا مثالی در این مورد داشته باشیم:
using System; using System.Collections.Generic; namespace CSharpHashSet { class Program { static void Main(string[] args) { HashSet<string> nameHashSet= new HashSet<string> { "Jalpesh", "Vishal", "Tushar", "Jalpesh" }; foreach (var item in nameHashSet) { Console.WriteLine(item); } Console.ReadKey(); } } }
حالا اگر به مثال بالا با دقت نگاه کنید می بینید که یک HashSet ازاسامی از نوع رشته داریم که نام Jalpesh در ان تکراری است.یک لوپ نیز داریم که ایتم ها را یکی یکی در مجموعه می گیرد و با دستور Console.WriteLine چاپ می کند.
حالا بیایید خروجی را با هم ببینیم:
دیدید نام Jalpesh در خروجی همان طور که انتظار داشتیم فقط یک بار امده است این همان کاری است که HashSet انجام می دهد و به طور اتوماتیک از ایجاد کپی جلوگیری می کند.
مزایای HashSet :
به دلیل نبود تکرار و استفاده از الگوریتمی بر پایه hash سرعت جستجو بسیار بالاست.
شما می توانید مانند هر مجموعه استاندارد دیگر ایتم ها را بر اساس index هر ایتم پیدا کنید.
چگونگی اضافه یا حذف عنصر در HashSet:
راه های بسیاری برای مقدار دهی وجود دارد که در مثال بالا یکی از انان را فراگرفتیم اما راه دیگر استفاده از متد Add و Remove است .
nameHashSet.Add("Chirag"); nameHashSet.Remove("Tushar");
حالا خروجی به این صورت است:
در HashSet می توان از متد های استانداردی همچون Clear, Contains و غیره استفاده کرد.
لیست کامل متد های قابل استفاده در مجموعه HashSet در MSDN قابل دسترسی است:
http://msdn.microsoft.com/en-us/library/bb359438(v=vs.110).aspx
- C#.net
- 6k بازدید
- 16 تشکر