Présentation des collections en C #

Dans cet article, nous allons découvrir les collections en C #. Les classes de collecte sont des classes spécialisées pour la récupération et le stockage de données. Il alloue dynamiquement de la mémoire aux éléments. À l'aide de celui-ci, nous pouvons effectuer diverses opérations comme la mise à jour, la récupération, le stockage, etc. Les collections sont similaires à un tableau. Ici, nous n'avons pas besoin de définir la taille au préalable contrairement à un tableau.

Il y a 3 façons de travailler avec les collections qui suivent

  • Classes System.Collections.Generic
  • Classes System.Collections.Concurrent
  • Classes System.Collections

Exemples de collections en C #

Voici quelques exemples de différents types de collection en C #: -

Exemple # 1 - ArrayList

Il s'agit d'une collection de System.Collections. Il permet de conserver les données de plusieurs types de données et au fur et à mesure que les données sont ajoutées, il se développe automatiquement.

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

Dans l'exemple ci-dessus, il existe une collection de type ArrayList. Il y a quelques éléments dans ArrayList. Add () et Remove () sont les méthodes utilisées pour ajouter et supprimer les éléments de la collection respectivement. foreach est utilisé pour l'itération et affiche les valeurs.

Production:

Exemple # 2 - Nous utiliserons ici l'opération de liste

Il s'agit d'une collection d'espace de noms System.Collections.Generic.

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

Dans l'exemple ci-dessus, la collection est de type liste. Les méthodes Add () et Remove () sont utilisées pour ajouter ou supprimer les éléments de la liste respectivement. Insert () est également utilisé pour insérer l'élément dans la liste à un index défini. Foreach est utilisé pour l'itération et affiche les valeurs.

Production:

Exemple # 3: liste triée

Il se compose de clés et de valeurs dans une collection.

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

Dans l'exemple ci-dessus, la collection est de type sortedlist. Il existe plusieurs paires de clés et de valeurs dans la liste. Il représente essentiellement la paire triée de clés et de valeurs.

Production:

Exemple # 4: liste liée

Il permet essentiellement l'accès séquentiel des éléments.

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

Dans l'exemple ci-dessus, la collection est de type Linkedlist. AddLast () est utilisé pour placer l'élément dans la dernière position alors que AddFirst () est utilisé pour placer l'élément à la première position de la liste. La Linkedlist se compose d'un nœud. Find () est utilisé pour trouver la valeur et la valeur de position avant.

Production :

Exemple # 5 - Dictionnaire

Il se compose d'une paire unique de clés et de valeurs.

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

Dans l'exemple ci-dessus, la collection est de type dictionnaire qui contient la clé et leurs valeurs. Foreach est utilisé pour l'itération des clés et des valeurs.

Production

Exemple # 6 - Empiler

Il est basé sur la structure Last-In-First-Out. Le dernier élément de la file d'attente est le premier à être supprimé.

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

Dans l'exemple ci-dessus, la collection est de type pile. Push () permet d'insérer l'élément en haut. Pop () sert à supprimer et renvoyer l'élément et Peek () à renvoyer l'élément supérieur de la pile.

Production:

Exemple # 7 - File d'attente

Il est basé sur la structure du premier entré, premier sorti. Le premier élément de la file d'attente est le premier à être supprimé.

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

Dans l'exemple ci-dessus; la collection est de type file d'attente. Enqueue () est pour l'élément d'insertion à la fin de la file d'attente. Dequeue () sert à supprimer l'élément du début de la file d'attente . Peek () est utilisé pour renvoyer l'article.

Production:

Il existe donc de nombreuses façons d'utiliser les collections. Les collections sont similaires à un tableau. Ici, nous n'avons pas besoin de définir la taille au préalable contrairement au tableau.

Articles recommandés

Cela a été un guide pour les collections en C #. Ici, nous discutons de la vue d'ensemble et des différents exemples de collections en C # avec implémentation de code et sortie. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Guide complet de tri en C #
  2. Méthodes d'itérateurs en C #
  3. Types de modèles en C #
  4. Comment les pointeurs fonctionnent-ils en C #?