Přehled sbírek v C #

V tomto článku se dozvíme o sbírkách v C #. Třídy kolekce jsou specializované třídy pro vyhledávání a ukládání dat. Dynamicky přiděluje paměťovým prvkům paměť. S jeho pomocí můžeme provádět různé operace, jako je aktualizace, načtení, uložení atd. Kolekce jsou podobné matici. Zde nemusíme na rozdíl od pole definovat velikost předem.

Existují 3 způsoby, jak pracovat s kolekcemi, které následují

  • System.Collections.Generic tříd
  • System.Collections.Concurrent třídy
  • Třídy System.Collections

Příklady sbírek v C #

Níže uvádíme několik příkladů různých typů sbírek v C #: -

Příklad č. 1 - ArrayList

Je to kolekce System.Collections. Umožňuje uchovávat data více typů dat a jakmile jsou data přidána, automaticky se rozšiřuje.

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

Ve výše uvedeném příkladu existuje kolekce typu ArrayList. V ArrayListu jsou některé prvky. Add () a Remove () jsou metody, které se používají k přidání a odebrání prvků ze sbírky. foreach se používá pro iteraci a zobrazuje hodnoty.

Výstup:

Příklad č. 2 - Zde použijeme operaci seznamu

Je to kolekce 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();
)
)
)
)

Ve výše uvedeném příkladu je kolekce typu seznamu. Metody Add () a Remove () se používají k přidání nebo odebrání prvků ze seznamu. Insert () se také používá k vložení prvku do seznamu v definovaném indexu. Foreach se používá pro iteraci a zobrazuje hodnoty.

Výstup:

Příklad č. 3: Tříděný seznam

Skládá se z klíče a hodnot v kolekci.

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

Ve výše uvedeném příkladu je kolekce typu sortlist. V seznamu je více párů klíčů a hodnot. V zásadě představuje tříděný pár klíčů a hodnot.

Výstup:

Příklad č. 4: Propojený seznam

V zásadě umožňuje sekvenční přístup prvků.

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

Ve výše uvedeném příkladu je kolekce typu Linkedlist. AddLast () se používá k umístění prvku na poslední pozici, zatímco AddFirst () se používá k umístění prvku na první pozici seznamu. Propojený seznam se skládá z uzlu. Find () se používá k nalezení hodnoty a hodnoty místa před ní.

Výstup :

Příklad č. 5 - Slovník

Skládá se z jedinečného páru klíčů a hodnot.

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

Ve výše uvedeném příkladu je kolekce typu slovníku, který obsahuje klíč a jejich hodnoty. Foreach se používá pro iteraci klíčů a hodnot.

Výstup

Příklad č. 6 - Zásobník

Je založen na struktuře Last-In-First-Out. Posledním prvkem fronty je první, který má být odstraněn.

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

Ve výše uvedeném příkladu je kolekce typu stack. Push () se používá k vložení prvku nahoře. Pop () slouží k odebrání a vrácení prvku a Peek () k vrácení horního prvku zásobníku.

Výstup:

Příklad č. 7 - Fronta

Je založen na struktuře First-In-First-Out. První prvek fronty je první, který má být odstraněn.

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

Ve výše uvedeném příkladu; kolekce je typu fronty. Enqueue () je pro vkládací prvek na konci fronty. Dequeue () slouží k odebrání prvku ze začátku fronty . Peek () se používá pro vrácení položky.

Výstup:

Existuje tedy mnoho způsobů, jak můžeme sbírky použít. Kolekce jsou podobné matici. Zde nemusíme na rozdíl od pole definovat velikost předem.

Doporučené články

Toto byl průvodce sbírkami v C #. Zde diskutujeme přehled a různé příklady kolekcí v C # s implementací kódu a výstupem. Další informace naleznete také v následujících článcích -

  1. Kompletní průvodce tříděním v C #
  2. Metody Iterátorů v C #
  3. Typy vzorů v C #
  4. Jak fungují ukazatele v C #?

Kategorie: