Tabela hash C# com exemplos
O que รฉ Hashtable em C#?
Uma tabela hash รฉ uma coleรงรฃo especial usada para armazenar itens de valor-chave. Portanto, em vez de armazenar apenas um valor como pilha, lista de array e fila, a tabela hash armazena 2 valores. Esses 2 valores formam um elemento da tabela hash.
Abaixo estรฃo alguns exemplos de como podem ser os valores de uma tabela hash.
{ "001" , ".Net" }
{ "002" , ".C#" }
{ "003" , "ASP.Net" }
Acima temos 3 pares de valores-chave. As chaves de cada elemento sรฃo 001, 002 e 003 respectivamente. Os valores de cada par de valores-chave sรฃo โ. Netโ, โC#โ e โASP.Netโ respectivamente.
Vejamos as operaรงรตes disponรญveis para a coleรงรฃo Hashtable com mais detalhes.
Declaraรงรฃo da Hashtable
A declaraรงรฃo de uma Hashtable รฉ mostrada abaixo. Um Hashtable รฉ criado com a ajuda do tipo de dados Hashtable. A palavra-chave โnewโ รฉ usada para criar um objeto de uma Hashtable. O objeto รฉ entรฃo atribuรญdo ร variรกvel ht.
Hashtable ht = new Hashtable()
Adicionando elementos ao Hashtable
O mรฉtodo Add รฉ usado para adicionar um elemento ao fila. A sintaxe geral da instruรงรฃo รฉ fornecida abaixo
HashTable.add("key","value")
1 exemplo:
Lembre-se de que cada elemento da tabela hash รฉ composto por 2 valores, um รฉ a chave e o outro รฉ o valor.
Agora, vamos ver isso funcionando no nรญvel do cรณdigo. Todo o cรณdigo mencionado abaixo serรก gravado em nosso aplicativo de console.
O cรณdigo serรก gravado em nosso arquivo Program.cs. No programa abaixo, escreveremos o cรณdigo para ver como podemos usar os mรฉtodos mencionados acima.
Por enquanto, em nosso exemplo, veremos apenas como podemos criar uma hashtable, adicionar elementos ร hashtable e exibi-los de acordo.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Program
{
static void Main(string[] args)
{
Hashtable ht = new Hashtable();
ht.Add("001",".Net");
ht.Add("002","C#");
ht.Add("003","ASP.Net");
ICollection keys = ht.Keys;
foreach (String k in keys)
{
Console.WriteLine(ht[k]);
}
Console.ReadKey();
}
}
}
Explicaรงรฃo do cรณdigo: -
- Primeiro, declaramos a variรกvel hashtable usando o tipo de dados Hashtable usando a palavra-chave โNovoโ. O nome da variรกvel definida รฉ 'ht'.
- Em seguida, adicionamos elementos ร tabela hash usando o mรฉtodo Add. Lembre-se de que precisamos adicionar um elemento chave e um elemento de valor ao adicionar algo ร tabela hash.
- Nรฃo existe uma maneira direta de exibir os elementos de uma tabela hash.
- Para exibir a tabela hash, primeiro precisamos obter a lista de chaves (001, 002 e 003) da tabela hash.
- Isso รฉ feito atravรฉs da interface ICollection. Este รฉ um tipo de dados especial que pode ser usado para armazenar as chaves de coleรงรตes de hashtable. Em seguida, atribuรญmos as chaves da coleรงรฃo hashtable ร variรกvel 'keys'.
- A seguir, para cada valor-chave, obtemos o valor associado na tabela hash usando a instruรงรฃo ht[k].
Se o cรณdigo acima for inserido corretamente e o programa for executado, a seguinte saรญda serรก exibida.
Saรญda:
Vejamos mais alguns mรฉtodos disponรญveis para tabelas hash.
ContรฉmChave
Este mรฉtodo รฉ usado para verificar se uma chave estรก presente na Hashtable. Abaixo estรก a sintaxe geral desta instruรงรฃo. A instruรงรฃo retornarรก verdadeiro se a chave existir, caso contrรกrio, retornarรก o valor falso.
Hashtable.Containskey(key)
ContรฉmValor
Este mรฉtodo รฉ usado para verificar se um valor estรก presente na tabela Hash. Abaixo estรก a sintaxe geral desta instruรงรฃo. A instruรงรฃo retornarรก verdadeiro se o Valor existir, caso contrรกrio, retornarรก o valor falso.
Hashtable.ContainsValue(value)
2 exemplo:
Vamos mudar o cรณdigo em nosso Aplicaรงรฃo da consola para mostrar como podemos usar os mรฉtodos โContainskeyโ e โContainsValueโ.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Program
{
static void Main(string[] args)
{
Hashtable ht = new Hashtable();
ht.Add("001",".Net");
ht.Add("002","C#");
ht.Add("003","ASP.Net");
Console.WriteLine(ht.ContainsKey("001"));
Console.WriteLine(ht.ContainsValue("C#"));
Console.ReadKey();
}
}
}
Explicaรงรฃo do cรณdigo: -
- Primeiro, usamos o mรฉtodo ContainsKey para ver se a chave estรก presente na tabela hash. Este mรฉtodo retornarรก verdadeiro se a chave estiver presente na tabela hash. Este mรฉtodo deve retornar verdadeiro, pois a chave existe na tabela hash.
- Em seguida, usamos o mรฉtodo ContainsValue para ver se o valor estรก presente na tabela hash. Este mรฉtodo retornarรก 'true', pois o valor existe na tabela hash.
Se o cรณdigo acima for inserido corretamente e o programa for executado, a seguinte saรญda serรก exibida.
Saรญda:
Na saรญda, vocรช pode ver claramente que tanto a chave quanto o valor pesquisado estรฃo presentes na tabela hash.
Resumo
Um Hashtable รฉ usado para armazenar elementos que compreendem pares de valores-chave. Para acessar o valor de um elemento, vocรช precisa saber a chave do elemento.




