Visão geral de coleções em C #
Neste artigo, vamos aprender sobre as coleções em c #. Classes de coleção são classes especializadas para recuperação e armazenamento de dados. Aloca memória dinamicamente para os elementos. Com a ajuda, podemos executar várias operações, como atualização, recuperação, armazenamento, etc. As coleções são semelhantes a uma matriz. Aqui não precisamos definir o tamanho antecipadamente, diferentemente de uma matriz.
Existem 3 maneiras de trabalhar com coleções que são seguidas
- Classes System.Collections.Generic
- Classes System.Collections.Concurrent
- Classes System.Collections
Exemplos de coleções em c #
Abaixo estão alguns exemplos de vários tipos de coleção em C #: -
Exemplo # 1 - ArrayList
É uma coleção de System.Collections. Ele permite armazenar os dados de vários tipos de dados e, à medida que os dados são adicionados, eles se expandem automaticamente.
Código:
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();
)
)
)
)
No exemplo acima, há uma coleção do tipo ArrayList. Existem alguns elementos em ArrayList. Add () e Remove () são os métodos usados para adicionar e remover os elementos da coleção, respectivamente. foreach é usado para a iteração e exibe os valores.
Resultado:
Exemplo # 2 - Usaremos a operação de lista aqui
É uma coleção de espaço para nome System.Collections.Generic.
Código:
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();
)
)
)
)
No exemplo acima, a coleção é de um tipo de lista. Os métodos Add () e Remove () são usados para adicionar ou remover os elementos da lista, respectivamente. Insert () também é usado para inserir o elemento na lista em um índice definido. O Foreach é usado para iteração e exibe os valores.
Resultado:
Exemplo # 3: Lista classificada
Consiste em chave e valores em uma coleção.
Código:
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();
)
)
)
)
No exemplo acima, coleção é do tipo lista classificada. Existem vários pares de chave e valores na lista. Representa basicamente o par classificado de chaves e valores.
Resultado:
Exemplo # 4: lista vinculada
Basicamente, permite o acesso seqüencial dos elementos.
Código:
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();
)
)
)
)
No exemplo acima, a coleção é do tipo Linkedlist. AddLast () é usado para colocar o elemento na última posição, enquanto AddFirst () é usado para colocar o elemento na primeira posição da lista. A lista vinculada consiste em um nó. Find () é usado para encontrar o valor e colocar o valor antes dele.
Resultado :
Exemplo # 5 - Dicionário
Consiste em um par exclusivo de chaves e valores.
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();
)
)
)
No exemplo acima, coleção é do tipo dicionário que contém a chave e seus valores. O Foreach é usado para a iteração de chaves e valores.
Resultado
Exemplo # 6 - Pilha
É baseado na estrutura Last-In-First-Out. O último elemento da fila é o primeiro a ser removido.
Código:
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();
)
)
)
)
No exemplo acima, a coleção é do tipo pilha. Push () é usado para inserir o elemento na parte superior. Pop () é para remover e retornar o elemento e Peek () é para retornar o elemento superior da pilha.
Resultado:
Exemplo # 7 - Fila
É baseado na estrutura de primeiro a entrar, primeiro a sair. O primeiro elemento da fila é o primeiro a ser removido.
Código:
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();
)
)
)
)
No exemplo acima; coleção é do tipo fila. Enfileirar () é para o elemento de inserção no final da fila. Desfileirar () é para remover o elemento do início da fila . Peek () é usado para devolver o item.
Resultado:
Portanto, existem várias maneiras de usar as coleções. Coleções são semelhantes a uma matriz. Aqui não precisamos definir o tamanho antecipadamente, ao contrário do array.
Artigos recomendados
Este foi um guia para coleções em c #. Aqui discutimos a visão geral e os diferentes exemplos de coleções em C # com implementação e saída de código. Você também pode consultar os seguintes artigos para saber mais -
- Guia completo para classificação em c #
- Métodos de Iteradores em C #
- Tipos de padrões em c #
- Como os ponteiros funcionam em c #?