logo

HashSet valodā C # ar piemēriem

C# valodā HashSet ir nesakārtota unikālu elementu kolekcija. Šī kolekcija ir ieviesta .NET 3.5 . Tā atbalsta kopu ieviešanu un glabāšanai izmanto hash tabulu. Šī kolekcija ir vispārīga tipa kolekcija, un tā ir definēta saskaņā ar Sistēma.Kolekcijas.Vispārīgi nosaukumvieta. To parasti izmanto, ja vēlamies, lai kolekcijā netiktu ievietoti elementu dublikāti. HashSet veiktspēja ir daudz labāka salīdzinājumā ar sarakstu.

Svarīgi punkti, kas saistīti ar HashSet C#

  • HashSet klase īsteno Ikollekcija , IEskaitāms , IReadOnlyCollection , septembris , IEskaitāms , IDserializationAtzvans , un ISerializējams saskarnes.
  • HashSet elementu secība nav noteikta. Jūs nevarat kārtot HashSet elementus.
  • HashSet elementiem ir jābūt unikāliem.
  • HashSet elementu dublikāti nav atļauti.
  • Tas nodrošina daudzas matemātiskas kopas darbības, piemēram, krustojumu, savienojumu un atšķirību.
  • HashSet ietilpība ir elementu skaits, ko tas var saturēt.
  • HashSet ir dinamiska kolekcija, kas nozīmē, ka HashSet lielums tiek automātiski palielināts, kad tiek pievienoti jauni elementi.
  • HashSet varat saglabāt tikai tāda paša veida elementus.

Kā izveidot HashSet?

HashSet klase nodrošina 7 dažādu veidu konstruktori kuras tiek izmantotas, lai izveidotu HashSet, šeit mēs izmantojam tikai HashSet() , konstruktors. Lai uzzinātu vairāk par HashSet konstruktoriem, varat atsaukties C# | HashSet klase .

HashSet(): To izmanto, lai izveidotu HashSet klases gadījumu, kas ir tukša un izmanto noklusējuma vienādības salīdzinātāju kopas tipam.



1. darbība: Iekļaut Sistēma.Kolekcijas.Vispārīgi nosaukumvieta jūsu programmā, izmantojot izmantojot atslēgvārds:

using System.Collections.Generic;>

2. darbība: Izveidojiet HashSet, izmantojot klasi HashSet, kā parādīts zemāk:

HashSet Hashset_name = new HashSet();>

3. darbība: Ja vēlaties pievienot elementus savā HashSet, izmantojiet Pievienot () metode, lai pievienotu elementus savā HashSet. Varat arī saglabāt elementus savā HashSet, izmantojot kolekcijas inicializatoru.

4. darbība: HashSet elementiem var piekļūt, izmantojot a katram cilpa. Kā parādīts zemāk esošajā piemērā.

Piemērs:

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);> >}> >}> }>

>

>

Izvade

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

Kā noņemt elementus no HashSet?

Programmā HashSet ir atļauts noņemt elementus no HashSet. HashSet klase nodrošina trīs dažādas metodes elementu noņemšanai, un metodes ir šādas:

  • Noņemt (T) : Šo metodi izmanto, lai noņemtu norādīto elementu no HashSet objekta.
  • RemoveWhere (predikāts) : Šo metodi izmanto, lai no HashSet kolekcijas noņemtu visus elementus, kas atbilst norādītā predikāta definētajiem nosacījumiem.
  • Skaidrs : Šo metodi izmanto, lai noņemtu visus elementus no HashSet objekta.

1. piemērs:

C#




// 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);> >}> }>

>

>

Izvade

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

Iestatīt darbības

HashSet klase nodrošina arī dažas metodes, kas tiek izmantotas dažādu darbību veikšanai ar kopām, un šīs metodes ir:

  • Savienība ar (ieskaitāms) : Šī metode tiek izmantota, lai modificētu pašreizējo HashSet objektu, lai tajā būtu visi elementi, kas atrodas pašā, norādītajā kolekcijā vai abos.

Piemērs:

C#




// 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);> >}> >}> }>

>

>

Izvade

C C++ C# Java Ruby PHP Perl>
  • Krustoties ar (IEskaitāms) : Šī metode tiek izmantota, lai modificētu pašreizējo HashSet objektu, lai tajā būtu tikai elementi, kas atrodas šajā objektā un norādītajā kolekcijā.
    Piemērs:

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);> >}> >}> }>

>

java char uz virkni
>

Izvade

C++ Java>
  • Izņemot ar (IEskaitāms) : Šo metodi izmanto, lai no pašreizējā HashSet objekta noņemtu visus norādītās kolekcijas elementus.

Piemērs:

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);> >}> >}> }>

>

>

Izvade

C C# Ruby>