Prehľad zbierok v C #

V tomto článku sa budeme dozvedieť o zbierkach v jazyku C #. Zbierka tried sú špecializované triedy pre vyhľadávanie a ukladanie dát. Dynamicky priraďuje prvkom pamäť. S jeho pomocou môžeme vykonávať rôzne operácie, ako je aktualizácia, načítanie, ukladanie atď. Kolekcie sú podobné súboru. Tu nemusíme na rozdiel od poľa definovať veľkosť vopred.

Existujú 3 spôsoby, ako pracovať so zbierkami, ktoré sledujete

  • System.Collections.Generic Class
  • System.Collections.Concurrent triedy
  • Triedy System.Collections

Príklady zbierok v jazyku C #

Nižšie uvádzame niekoľko príkladov rôznych typov zbierok v C #: -

Príklad č. 1 - ArrayList

Je to zbierka System.Collections. Umožňuje uchovávať údaje viacerých typov údajov a po pridaní údajov sa automaticky rozširuje.

kód:

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

Vo vyššie uvedenom príklade je kolekcia typu ArrayList. V ArrayListe sú niektoré prvky. Add () a Remove () sú metódy, ktoré sa používajú na pridávanie a odoberanie prvkov zo zbierky. foreach sa používa na iteráciu a zobrazuje hodnoty.

Výkon:

Príklad č. 2 - Použijeme tu operáciu zoznamu

Je to zbierka System.Collections.Generic namespace.

kód:

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

Vo vyššie uvedenom príklade je kolekcia typu zoznamu. Na pridanie alebo odstránenie prvkov zo zoznamu sa používajú metódy Add () a Remove (). Insert () sa tiež používa na vloženie prvku do zoznamu v definovanom indexe. Foreach sa používa na iteráciu a zobrazuje hodnoty.

Výkon:

Príklad č. 3: Triedený zoznam

Pozostáva z kľúča a hodnôt v kolekcii.

kód:

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

Vo vyššie uvedenom príklade je kolekcia typu sortlist. V zozname je viacero párov kľúčov a hodnôt. V podstate predstavuje triedený pár kľúčov a hodnôt.

Výkon:

Príklad č. 4: Prepojený zoznam

V zásade umožňuje sekvenčný prístup k prvkom.

kód:

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

Vo vyššie uvedenom príklade je kolekcia typu Prepojený zoznam. AddLast () sa používa na umiestnenie prvku na poslednú pozíciu, zatiaľ čo AddFirst () sa používa na umiestnenie prvku na prvé miesto v zozname. Prepojený zoznam pozostáva z uzla. Find () sa používa na nájdenie hodnoty a hodnoty miesta pred ňou.

Výkon :

Príklad č. 5 - Slovník

Pozostáva z jedinečného páru kľúčov a hodnôt.

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

Vo vyššie uvedenom príklade je kolekcia typu slovníka, ktorý obsahuje kľúč a ich hodnoty. Foreach sa používa na iteráciu kľúčov a hodnôt.

Výkon

Príklad č. 6 - Zásobník

Je založená na štruktúre Last-In-First-Out. Posledným prvkom frontu je prvý, ktorý sa má odstrániť.

kód:

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

Vo vyššie uvedenom príklade je kolekcia typu stack. Push () sa používa na vloženie prvku hore. Pop () slúži na odstránenie a vrátenie prvku a Peek () na vrátenie horného prvku zásobníka.

Výkon:

Príklad č. 7 - Fronta

Je založená na štruktúre First-In-First-Out. Prvý prvok frontu je prvý, ktorý sa má odstrániť.

kód:

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

Vo vyššie uvedenom príklade; zbierka je typu frontu. Enqueue () je pre vkladací prvok na konci frontu. Dequeue () slúži na odstránenie prvku zo začiatku frontu . Peek () sa používa na vrátenie položky.

Výkon:

Existuje teda mnoho spôsobov, ako môžeme tieto zbierky použiť. Kolekcie sú podobné súboru. Tu nemusíme na rozdiel od poľa definovať veľkosť vopred.

Odporúčané články

Toto bol sprievodca zbierkami v jazyku C #. Tu diskutujeme prehľad a rôzne príklady kolekcií v jazyku C # s implementáciou kódu a výstupom. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Kompletný sprievodca triedením v C #
  2. Metódy Iterátorov v C #
  3. Typy vzorov v C #
  4. Ako fungujú ukazovatele v jazyku C #?

Kategórie: