Overzicht van collecties in C #

In dit artikel gaan we meer te weten komen over de collecties in C #. Collectieklassen zijn gespecialiseerde klassen voor het ophalen en opslaan van gegevens. Het wijst dynamisch geheugen toe aan de elementen. Met behulp hiervan kunnen we verschillende bewerkingen uitvoeren, zoals bijwerken, ophalen, opslaan, enz. Collecties zijn vergelijkbaar met een array. Hier hoeven we de grootte niet van tevoren te definiëren, in tegenstelling tot een array.

Er zijn 3 manieren om met collecties te werken die volgen

  • System.Collections.Generic klassen
  • System.Collections.Concurrent klassen
  • System.Collections-klassen

Voorbeelden van collecties in C #

Hieronder staan ​​enkele voorbeelden van verschillende soorten collecties in C #: -

Voorbeeld # 1 - ArrayList

Het is een verzameling van System.Collections. Hiermee kunnen gegevens van meerdere gegevenstypen worden bewaard en naarmate de gegevens worden toegevoegd, wordt deze automatisch uitgebreid.

Code:

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

In het bovenstaande voorbeeld is er een verzameling van het type ArrayList. Er zijn enkele elementen in ArrayList. Add () en Remove () zijn de methoden die worden gebruikt om respectievelijk elementen toe te voegen en te verwijderen uit de verzameling. foreach wordt gebruikt voor de iteratie en geeft de waarden weer.

Output:

Voorbeeld # 2 - We zullen de lijstbewerking hier gebruiken

Het is een verzameling van System.Collections.Generic-naamruimte.

Code:

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

In het bovenstaande voorbeeld is de verzameling van het lijsttype. De methoden Add () en Remove () worden gebruikt om de elementen respectievelijk aan de lijst toe te voegen of te verwijderen. Insert () wordt ook gebruikt om het element in de lijst in te voegen bij een gedefinieerde index. Foreach wordt gebruikt voor iteratie en geeft de waarden weer.

Output:

Voorbeeld # 3: Gesorteerde lijst

Het bestaat uit sleutel en waarden in een verzameling.

Code:

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

In het bovenstaande voorbeeld is de verzameling van het type gesorteerde lijst. De lijst bevat meerdere paren sleutel en waarden. Het vertegenwoordigt in feite het gesorteerde paar sleutels en waarden.

Output:

Voorbeeld 4: gekoppelde lijst

Het biedt in principe de opeenvolgende toegang van de elementen.

Code:

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

In het bovenstaande voorbeeld is de verzameling van het type Linkedlist. AddLast () wordt gebruikt om het element in de laatste positie te plaatsen, terwijl AddFirst () wordt gebruikt om het element op de eerste positie van de lijst te plaatsen. Linkedlist bestaat uit een knooppunt. Find () wordt gebruikt om de waarde te vinden en de waarde ervoor te plaatsen.

Uitgang:

Voorbeeld # 5 - Woordenboek

Het bestaat uit een uniek paar sleutels en waarden.

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

In bovenstaand voorbeeld is verzameling van het type woordenboek dat sleutel en hun waarden bevat. Foreach wordt gebruikt voor de iteratie van sleutels en waarden.

uitgang

Voorbeeld # 6 - Stapel

Het is gebaseerd op de Last-In-First-Out-structuur. Het laatste element van de wachtrij is het eerste dat wordt verwijderd.

Code:

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

In het bovenstaande voorbeeld is het verzamelen van het type stapel. Push () wordt gebruikt om het element bovenaan in te voegen. Pop () is voor het verwijderen en retourneren van het element en Peek () is voor het retourneren van het bovenste element van de stapel.

Output:

Voorbeeld # 7 - Wachtrij

Het is gebaseerd op de First-In-First-Out-structuur. Het eerste element van de wachtrij is het eerste dat wordt verwijderd.

Code:

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

In het bovenstaande voorbeeld; verzameling is van het type wachtrij. Enqueue () is voor het invoegelement aan het einde van de wachtrij. Dequeue () dient om het element uit het begin van de wachtrij te verwijderen . Peek () wordt gebruikt voor het retourneren van het item.

Output:

Er zijn dus veel manieren waarop we de collecties kunnen gebruiken. Collecties zijn vergelijkbaar met een array. Hier hoeven we de grootte niet vooraf te definiëren in tegenstelling tot de array.

Aanbevolen artikelen

Dit is een gids voor collecties in C #. Hier bespreken we het overzicht en verschillende voorbeelden van collecties in C # met code-implementatie en uitvoer. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Complete gids voor sorteren in C #
  2. Methoden van Iterators in C #
  3. Soorten patronen in C #
  4. Hoe werkt Pointers in C #?