Pregled zbirk v C #

V tem članku bomo spoznali Zbirke v C #. Zbirni razredi so specializirani razredi za iskanje in shranjevanje podatkov. Elementom dinamično dodeli pomnilnik. S pomočjo tega lahko izvajamo različne operacije, kot so posodabljanje, pridobivanje, shranjevanje itd. Zbirke so podobne matriki. Tukaj nam ni treba predhodno določiti velikosti za razliko od matrike.

Obstajajo trije načini dela z zbirkami, ki sledijo

  • System.Collections.Splošni razredi
  • System.Collections.Concurrent razredi
  • System.Collections razredi

Primeri zbirk v C #

Spodaj je nekaj primerov različnih vrst zbirk v C #: -

Primer # 1 - ArrayList

Je zbirka System.Collections. Omogoča shranjevanje podatkov iz več vrst podatkov in ko se podatki dodajajo, se samodejno širi.

Koda:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ArrayListExample
(
class Program
(
static void Main(string() args)
(
var data = new ArrayList(); //arraylist collection
data.Add("Demo"); // add element
data.Add(1);
data.Add(5);
data.Add(26);
data.Add(56.4);
data.Add(32);
data.Remove(5); // remove element
foreach (object obj in data) // iteration
(
Console.WriteLine(obj);
Console.ReadLine();
)
)
)
)

V zgornjem primeru je zbirka tipa ArrayList. V ArrayListu je nekaj elementov. Add () in Remove () sta metoda, ki se uporablja za dodajanje in odstranjevanje elementov iz zbirke. foreach se uporablja za iteracijo in prikaz vrednosti.

Izhod:

Primer # 2 - Tu bomo uporabili delovanje seznama

Je zbirka imenskega prostora System.Collections.Generic.

Koda:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var value = new List(); // list collection
value.Add("Cricket"); // add element
value.Add("Football");
value.Add("Volleyball");
value.Add("Hockey");
value.Add("Basketball");
value.Add("Tennis");
value.Remove("Football"); // remove element
value.Remove("Tennis");
value.Insert(3, "Badminton"); // insert element
foreach (string st in value)
(
Console.WriteLine(st);
Console.ReadLine();
)
)
)
)

V zgornjem primeru je zbirka seznama. Za dodajanje ali odstranjevanje elementov s seznama se uporabljajo metode Add () in Remove (). Insert () se uporablja tudi za vstavljanje elementa na seznam v določenem indeksu. Foreach se uporablja za iteracijo in prikaz vrednosti.

Izhod:

Primer # 3: Razvrščen seznam

Sestavljen je iz ključa in vrednosti v zbirki.

Koda:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var value = new SortedList(); // sortedlist collection
value.Add("java", 3); // add element
value.Add("javascript", 4);
value.Add("c-sharp", 5);
value.Add("dotnet", 25);
value.Add("python", 27);
value.Add("typescript", 57);
foreach (var pair in value)
(
Console.WriteLine(pair);
Console.ReadLine();
)
)
)
)

V zgornjem primeru je zbirka sortirana po vrsti. Na seznamu je več parov ključev in vrednosti. V bistvu predstavlja razvrščen par ključev in vrednosti.

Izhod:

Primer # 4: Povezani seznam

V bistvu omogoča zaporedni dostop elementov.

Koda:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var value = new LinkedList(); // linkedlist collection
value.AddLast(13); // add element
value.AddLast(33);
value.AddLast(23);
value.AddLast(51);
value.AddLast(60);
value.AddFirst(4);
value.AddFirst(6);
LinkedListNode node = value.Find(51); // find the node
value.AddBefore(node, 40);
foreach (int num in value)
(
Console.WriteLine(num);
Console.ReadLine();
)
)
)
)

V zgornjem primeru je zbirka vrste Linkedlist. AddLast () se uporablja za postavitev elementa v zadnji položaj, medtem ko AddFirst () uporablja za postavitev elementa na prvi položaj seznama. Povezani seznam je sestavljen iz vozlišča. Find () se uporablja za iskanje vrednosti in vrednosti mesta pred njim.

Izhod:

Primer # 5 - Slovar

Sestavljen je iz edinstvenega para ključev in vrednosti.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var pair = new Dictionary(); // dictionary collection
pair.Add("in", "India"); // add keys and values
pair.Add("af", "Africa");
pair.Add("us", "United States");
pair.Add("ja", "Japan");
pair.Add("ch", "China");
pair.Add("ca", "Canada");
Console.WriteLine("Keys present in the dictionary:");
var key = new List(pair.Keys);
foreach (string k in key)
(
Console.WriteLine("(0)", k);
)
Console.WriteLine("Values present in the dictionary:");
var value = new List(pair.Values);
foreach (string val in value)
(
Console.WriteLine("(0)", val);
)
Console.ReadLine();
)
)
)

V zgornjem primeru je zbirka slovarja tipa, ki vsebuje ključ in njihove vrednosti. Foreach se uporablja za iteracijo ključev in vrednosti.

Izhod

Primer # 6 - Zlaganje

Temelji na strukturi Last-In-First-Out. Zadnji element čakalne vrste je prvi, ki ga je treba odstraniti.

Koda:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var value = new Stack(); // stack collection
value.Push(10); // adding the element
value.Push(40);
value.Push(33);
value.Push(62);
value.Push(48);
value.Push(21);
value.Push(31);
Console.WriteLine(value.Pop());
Console.WriteLine(value.Peek());
Console.WriteLine();
foreach (int item in value)
(
Console.WriteLine(item);
Console.ReadLine();
)
)
)
)

V zgornjem primeru je zbiranje vrste zlaganja. S pritiskom na () se vstavi element na vrhu. Pop () je za odstranitev in vrnitev elementa, Peek () pa za vrnitev zgornjega elementa sklada.

Izhod:

Primer št. 7 - čakalna vrsta

Temelji na strukturi First-In-First-Out. Prvi element čakalne vrste je prvi, ki ga je treba odstraniti.

Koda:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(static void Main(string() args)
(
var value = new Queue(); // queue collection
value.Enqueue("Item 1"); // add element
value.Enqueue("Item 2");
value.Enqueue("Item 3");
value.Enqueue("Item 4");
value.Enqueue("Item 5");
value.Enqueue("Item 6");
value.Enqueue("Item 7");
Console.WriteLine(value.Dequeue());
Console.WriteLine(value.Peek());
Console.WriteLine();
foreach (string num in value)
(
Console.WriteLine(num);
Console.ReadLine();
)
)
)
)

V zgornjem primeru; zbirka je vrsta čakalnih vrst. Enqueue () je element za vstavljanje na koncu čakalne vrste. Dequeue () je namenjen odstranjevanju elementa z začetka čakalne vrste . Peek () se uporablja za vrnitev predmeta.

Izhod:

Torej obstaja veliko načinov, kako lahko uporabimo zbirke. Zbirke so podobne matriki. Tukaj nam ni treba predhodno določiti velikosti za razliko od matrike.

Priporočeni članki

To je vodnik za zbirke v C #. Tukaj razpravljamo o pregledu in različnih primerih zbirk v C # z implementacijo kode in izstopom. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Celoten vodnik za razvrščanje v C #
  2. Metode iteratorjev v C #
  3. Vrste vzorcev v C #
  4. Kako delujejo kazalci v C #?