Panoramica delle raccolte in C #

In questo articolo, impareremo le raccolte in C #. Le classi di raccolta sono classi specializzate per il recupero e l'archiviazione dei dati. Alloca dinamicamente la memoria agli elementi. Con l'aiuto di esso, possiamo eseguire varie operazioni come aggiornamento, recupero, archiviazione, ecc. Le raccolte sono simili a un array. Qui non è necessario definire anticipatamente le dimensioni, diversamente da un array.

Esistono 3 modi per lavorare con le raccolte che seguono

  • System.Collections.Generic class
  • Classi System.Collections.Concurrent
  • Classi System.Collections

Esempi di raccolte in C #

Di seguito sono riportati alcuni esempi di vari tipi di raccolta in C #: -

Esempio n. 1 - ArrayList

È una raccolta di System.Collections. Permette di conservare i dati di più tipi di dati e quando i dati vengono aggiunti, si espande automaticamente.

Codice:

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

Nell'esempio sopra, c'è una raccolta di tipo ArrayList. Ci sono alcuni elementi in ArrayList. Aggiungi () e Rimuovi () sono i metodi utilizzati per aggiungere e rimuovere rispettivamente gli elementi dalla raccolta. foreach viene utilizzato per l'iterazione e visualizza i valori.

Produzione:

Esempio n. 2: qui utilizzeremo le operazioni dell'elenco

È una raccolta di spazi dei nomi System.Collections.Generic.

Codice:

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

Nell'esempio sopra, la raccolta è di un tipo elenco. I metodi Add () e Remove () vengono utilizzati per aggiungere o rimuovere rispettivamente gli elementi dall'elenco. Inserisci () viene anche utilizzato per inserire l'elemento nell'elenco in un indice definito. Foreach viene utilizzato per l'iterazione e visualizza i valori.

Produzione:

Esempio n. 3: Elenco ordinato

È costituito da chiave e valori in una raccolta.

Codice:

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

Nell'esempio sopra, la raccolta è di tipo sortlist. Esistono più coppie di chiavi e valori nell'elenco. Rappresenta sostanzialmente la coppia ordinata di chiavi e valori.

Produzione:

Esempio n. 4: elenco collegato

In pratica consente l'accesso sequenziale degli elementi.

Codice:

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

Nell'esempio sopra, la raccolta è di tipo Linkedlist. AddLast () viene utilizzato per posizionare l'elemento nell'ultima posizione, mentre AddFirst () viene utilizzato per posizionare l'elemento nella prima posizione dell'elenco. Linkedlist è costituito da un nodo. Find () viene utilizzato per trovare il valore e posizionarlo prima di esso.

Produzione :

Esempio n. 5 - Dizionario

È costituito da una coppia unica di chiavi e valori.

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

Nell'esempio sopra, la raccolta è di tipo dizionario che contiene la chiave e i loro valori. Foreach viene utilizzato per l'iterazione di chiavi e valori.

Produzione

Esempio n. 6 - Stack

Si basa sulla struttura Last-In-First-Out. L'ultimo elemento della coda è il primo da rimuovere.

Codice:

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

Nell'esempio sopra, la raccolta è di tipo stack. Push () viene utilizzato per inserire l'elemento in alto. Pop () serve per rimuovere e restituire l'elemento e Peek () per restituire l'elemento superiore dello stack.

Produzione:

Esempio n. 7 - Coda

Si basa sulla struttura First-In-First-Out. Il primo elemento della coda è il primo da rimuovere.

Codice:

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

Nell'esempio sopra; la raccolta è di tipo coda. Enqueue () è per l'elemento di inserimento alla fine della coda. Dequeue () è per la rimozione l'elemento dall'inizio della coda. Peek () viene utilizzato per restituire l'articolo.

Produzione:

Quindi ci sono molti modi in cui possiamo usare le raccolte. Le raccolte sono simili a un array. Qui non è necessario definire preventivamente le dimensioni a differenza dell'array.

Articoli consigliati

Questa è stata una guida alle raccolte in C #. Qui discutiamo la panoramica e diversi esempi di Collezioni in C # con l'implementazione e l'uscita del codice. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più -

  1. Guida completa all'ordinamento in C #
  2. Metodi di Iteratori in C #
  3. Tipi di modelli in C #
  4. Come funzionano i puntatori in C #?

Categoria: