Pregled zbirki u C #

U ovom ćemo članku saznati više o Zbirkama u C #. Razredi sakupljanja su specijalizirane nastave za pretraživanje i pohranu podataka. Elementima dinamički raspoređuje memoriju. Pomoću njega možemo izvoditi razne operacije poput ažuriranja, dohvaćanja, pohrane itd. Zbirke su slične nizu. Ovdje ne trebamo unaprijed definirati veličinu za razliku od niza.

Postoje 3 načina rada s kolekcijama koje slijede

  • System.Collections.Generic klase
  • System.Collections.Concurrent klase
  • System.Collections klase

Primjeri zbirki u C #

Ispod su neki primjeri raznih vrsta kolekcija u C #: -

Primjer br. 1 - ArrayList

To je zbirka System.Collections. Omogućuje čuvanje podataka više tipova podataka i kako se podaci dodaju, automatski se proširuje.

Kodirati:

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

U gornjem primjeru nalazi se zbirka tipa ArrayList. U ArrayListu postoje neki elementi. Dodavanje () i uklanjanje () su metode koje se koriste za dodavanje i uklanjanje elemenata iz kolekcije. foreach se koristi za iteraciju i prikaz vrijednosti.

Izlaz:

Primjer 2 - Ovdje ćemo koristiti operaciju popisa

To je zbirka System.Collections.Generic prostora s imenima.

Kodirati:

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

U gornjem primjeru, zbirka je popisa. Za dodavanje ili uklanjanje elemenata s popisa koriste se metode Add () i Remove (). Insert () se koristi i za umetanje elementa u popis na definiranom indeksu. Foreach se koristi za iteraciju i prikaz vrijednosti.

Izlaz:

Primjer # 3: Poredani popis

Sastoji se od ključa i vrijednosti u zbirci.

Kodirati:

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

U gornjem primjeru, kolekcija je vrsta sortirana. Na popisu je više parova ključeva i vrijednosti. U osnovi predstavlja sortirani par ključeva i vrijednosti.

Izlaz:

Primjer # 4: Povezani popis

U osnovi omogućuje uzastopni pristup elementima.

Kodirati:

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

U gornjem primjeru, kolekcija je tipa Linkedlist. AddLast () koristi se za postavljanje elementa u posljednji položaj dok se AddFirst () koristi za postavljanje elementa na prvu poziciju popisa. Povezani popis sastoji se od čvora. Find () služi za pronalaženje vrijednosti i vrijednosti mjesta prije njega.

Izlaz:

Primjer 5 - Rječnik

Sastoji se od jedinstvenog para ključeva i vrijednosti.

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

U gornjem primjeru zbirka je rječnika tipa koji sadrži ključ i njihove vrijednosti. Foreach se koristi za ponavljanje ključeva i vrijednosti.

Izlaz

Primjer 6 - Slaganje

Temelji se na strukturi Last-In-First-Out. Posljednji element reda je prvi koji se uklanja.

Kodirati:

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

U gornjem primjeru, kolekcija je vrsta sloga. Pritiskom () koristi se za umetanje elementa na vrh. Pop () služi za uklanjanje i vraćanje elementa, a Peek () za vraćanje gornjeg elementa snopa.

Izlaz:

Primjer br. 7 - red čekanja

Temelji se na strukturi First-In-First-Out. Prvi element reda je prvi koji se uklanja.

Kodirati:

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

U gornjem primjeru; zbirka je vrsta čekanja. Enqueue () je za element za umetanje na kraju reda. Dequeue () služi za uklanjanje elementa s početka čekanja . Peek () koristi se za vraćanje predmeta.

Izlaz:

Dakle, postoji mnogo načina na koje možemo koristiti kolekcije. Zbirke su slične nizu. Ovdje ne trebamo unaprijed definirati veličinu za razliku od niza.

Preporučeni članci

Ovo je vodič za zbirke u C #. Ovdje smo raspravljali o pregledu i različitim primjerima Zbirki u C # s implementacijom koda i izlazom. Možete također pogledati sljedeće članke da biste saznali više -

  1. Kompletan vodič za sortiranje u C #
  2. Metode iteratora u C #
  3. Vrste uzoraka u C #
  4. Kako Pointers rade u C #?

Kategorija: