logo

HashSet C # su pavyzdžiais

C# kalboje HashSet yra netvarkinga unikalių elementų kolekcija. Ši kolekcija pristatoma m .NET 3.5 . Jis palaiko rinkinių įgyvendinimą ir saugojimui naudoja maišos lentelę. Ši kolekcija yra bendro tipo rinkinio ir ji apibrėžta Sistema.Kolekcijos.Bendra vardų erdvė. Paprastai jis naudojamas, kai norime, kad į kolekciją nebūtų patalpinti pasikartojantys elementai. „HashSet“ našumas yra daug geresnis, palyginti su sąrašu.

Svarbūs dalykai, susiję su HashSet C#

  • HashSet klasė įgyvendina Ikolekcija , Įskaitomas , IReadOnlyCollection , rugsėjo mėn , Įskaitomas , IDeserializationCallback , ir Galima serializuoti sąsajos.
  • „HashSet“ elemento tvarka nėra apibrėžta. Negalite rūšiuoti HashSet elementų.
  • „HashSet“ elementai turi būti unikalūs.
  • HashSet dubliuoti elementai neleidžiami.
  • Jame pateikiama daug matematinių rinkinių operacijų, tokių kaip sankirta, sąjunga ir skirtumas.
  • HashSet talpa yra elementų, kuriuos jis gali turėti, skaičius.
  • HashSet yra dinaminis rinkinys, reiškiantis, kad HashSet dydis automatiškai padidinamas, kai pridedami nauji elementai.
  • „HashSet“ galite saugoti tik to paties tipo elementus.

Kaip sukurti maišos rinkinį?

HashSet klasė suteikia 7 skirtingų tipų konstruktoriai kurie naudojami kuriant HashSet, čia naudojame tik HashSet () , konstruktorius. Norėdami sužinoti daugiau apie „HashSet“ konstruktorius, galite pasiskaityti C# | HashSet klasė .

HashSet (): Jis naudojamas sukurti tuščią HashSet klasės egzempliorių ir naudoja numatytąjį rinkinio tipo lygybės lygintuvą.



1 žingsnis: Įtraukti Sistema.Kolekcijos.Bendra vardų erdvę savo programoje naudodami naudojant raktažodis:

java poeilutė yra
using System.Collections.Generic;>

2 žingsnis: Sukurkite HashSet naudodami HashSet klasę, kaip parodyta toliau:

HashSet Hashset_name = new HashSet();>

3 veiksmas: Jei norite pridėti elementų į savo HashSet, naudokite Papildyti() būdas pridėti elementus į savo HashSet. Taip pat galite saugoti elementus savo „HashSet“ naudodami kolekcijos iniciatorių.

4 veiksmas: HashSet elementai pasiekiami naudojant a kiekvienam kilpa. Kaip parodyta toliau pateiktame pavyzdyje.

Pavyzdys:

C#




// C# program to illustrate how to> // create hashset> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main()> >{> >// Creating HashSet> >// Using HashSet class> >HashSet<>string>>myhash1 =>>HashSet<>string>>();> >// Add the elements in HashSet> >// Using Add method> >myhash1.Add(>'C'>);> >myhash1.Add(>'C++'>);> >myhash1.Add(>'C#'>);> >myhash1.Add(>'Java'>);> >myhash1.Add(>'Ruby'>);> >Console.WriteLine(>'Elements of myhash1:'>);> >// Accessing elements of HashSet> >// Using foreach loop> >foreach>(>var> val>in> myhash1)> >{> >Console.WriteLine(val);> >}> >// Creating another HashSet> >// using collection initializer> >// to initialize HashSet> >HashSet<>int>>myhash2 =>>HashSet<>int>>() {10,> >100,1000,10000,100000};> > >// Display elements of myhash2> >Console.WriteLine(>'Elements of myhash2:'>);> >foreach>(>var> value>in> myhash2)> >{> >Console.WriteLine(value);> >}> >}> }>

>

>

Išvestis

Elements of myhash1: C C++ C# Java Ruby Elements of myhash2: 10 100 1000 10000 100000>

Kaip pašalinti elementus iš HashSet?

„HashSet“ galite pašalinti elementus iš „HashSet“. „HashSet“ klasėje pateikiami trys skirtingi elementų pašalinimo būdai ir yra šie:

  • Pašalinti (T) : Šis metodas naudojamas nurodytam elementui pašalinti iš HashSet objekto.
  • Pašalinti kur (predikatas) : Šis metodas naudojamas pašalinti iš HashSet rinkinio visus elementus, atitinkančius nurodyto predikato apibrėžtas sąlygas.
  • Aišku : Šis metodas naudojamas pašalinti visus elementus iš HashSet objekto.

1 pavyzdys:

C#


Aktorė Rakul Preet Singh



// C# program to illustrate how to> // remove elements of HashSet> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main()> >{> >// Creating HashSet> >// Using HashSet class> >HashSet<>string>>myhash =>>HashSet<>string>>();> >// Add the elements in HashSet> >// Using Add method> >myhash.Add(>'C'>);> >myhash.Add(>'C++'>);> >myhash.Add(>'C#'>);> >myhash.Add(>'Java'>);> >myhash.Add(>'Ruby'>);> >// Before using Remove method> >Console.WriteLine(>'Total number of elements present (Before Removal)'>+> >' in myhash: {0}'>, myhash.Count);> >// Remove element from HashSet> >// Using Remove method> >myhash.Remove(>'Ruby'>);> >// After using Remove method> >Console.WriteLine(>'Total number of elements present (After Removal)'>+> >' in myhash: {0}'>, myhash.Count);> >// Remove all elements from HashSet> >// Using Clear method> >myhash.Clear();> >Console.WriteLine(>'Total number of elements present'>+> >' in myhash:{0}'>, myhash.Count);> >}> }>

>

>

Išvestis

Total number of elements present in myhash: 5 Total number of elements present in myhash: 4 Total number of elements present in myhash:0>

Nustatyti operacijas

„HashSet“ klasėje taip pat pateikiami keli metodai, naudojami įvairioms rinkinių operacijoms atlikti, ir šie metodai:

  • Sąjunga su (įskaitoma) : Šis metodas naudojamas dabartiniam HashSet objektui modifikuoti, kad jame būtų visi elementai, esantys pačiame, nurodytoje kolekcijoje arba abu.

Pavyzdys:

C#

python surūšiuota eilutė




// C# program to illustrate set operations> using> System;> using> System.Collections.Generic;> class> GFG {> >static> public> void> Main()> >{> >// Creating HashSet> >// Using HashSet class> >HashSet<>string>>myhash1 =>>HashSet<>string>>();> >// Add the elements in HashSet> >// Using Add method> >myhash1.Add(>'C'>);> >myhash1.Add(>'C++'>);> >myhash1.Add(>'C#'>);> >myhash1.Add(>'Java'>);> >myhash1.Add(>'Ruby'>);> >// Creating another HashSet> >// Using HashSet class> >HashSet<>string>>myhash2 =>>HashSet<>string>>();> >// Add the elements in HashSet> >// Using Add method> >myhash2.Add(>'PHP'>);> >myhash2.Add(>'C++'>);> >myhash2.Add(>'Perl'>);> >myhash2.Add(>'Java'>);> >// Using UnionWith method> >myhash1.UnionWith(myhash2);> >foreach>(>var> ele>in> myhash1)> >{> >Console.WriteLine(ele);> >}> >}> }>

>

>

Išvestis

C C++ C# Java Ruby PHP Perl>
  • Susikryžiuoti su (skaitmuo) : Šis metodas naudojamas modifikuoti dabartinį HashSet objektą, kad jame būtų tik elementai, esantys tame objekte ir nurodytoje kolekcijoje.
    Pavyzdys:

C#




// C# program to illustrate set operations> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main()> >{> >// Creating HashSet> >// Using HashSet class> >HashSet<>string>>myhash1 =>>HashSet<>string>>();> >// Add the elements in HashSet> >// Using Add method> >myhash1.Add(>'C'>);> >myhash1.Add(>'C++'>);> >myhash1.Add(>'C#'>);> >myhash1.Add(>'Java'>);> >myhash1.Add(>'Ruby'>);> >// Creating another HashSet> >// Using HashSet class> >HashSet<>string>>myhash2 =>>HashSet<>string>>();> >// Add the elements in HashSet> >// Using Add method> >myhash2.Add(>'PHP'>);> >myhash2.Add(>'C++'>);> >myhash2.Add(>'Perl'>);> >myhash2.Add(>'Java'>);> >// Using IntersectWith method> >myhash1.IntersectWith(myhash2);> >foreach>(>var> ele>in> myhash1)> >{> >Console.WriteLine(ele);> >}> >}> }>

padaryti apvalkalo scenarijų vykdomąjį

>

>

Išvestis

C++ Java>
  • Išskyrus su (įskaitomas) : Šis metodas naudojamas pašalinti visus nurodytos kolekcijos elementus iš esamo HashSet objekto.

Pavyzdys:

C#




// C# program to illustrate set operations> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main()> >{> >// Creating HashSet> >// Using HashSet class> >HashSet<>string>>myhash1 =>>HashSet<>string>>();> >// Add the elements in HashSet> >// Using Add method> >myhash1.Add(>'C'>);> >myhash1.Add(>'C++'>);> >myhash1.Add(>'C#'>);> >myhash1.Add(>'Java'>);> >myhash1.Add(>'Ruby'>);> >// Creating another HashSet> >// Using HashSet class> >HashSet<>string>>myhash2 =>>HashSet<>string>>();> >// Add the elements in HashSet> >// Using Add method> >myhash2.Add(>'PHP'>);> >myhash2.Add(>'C++'>);> >myhash2.Add(>'Perl'>);> >myhash2.Add(>'Java'>);> >// Using ExceptWith method> >myhash1.ExceptWith(myhash2);> >foreach>(>var> ele>in> myhash1)> >{> >Console.WriteLine(ele);> >}> >}> }>

Java konvertuoja sveikąjį skaičių į eilutę

>

>

Išvestis

C C# Ruby>