Хеш-таблица C # с примерами

Содержание:

Anonim

Что такое Hashtable в C #?

Хэш-таблица - это специальная коллекция, которая используется для хранения элементов "ключ-значение". Таким образом, вместо хранения только одного значения, такого как стек, список массивов и очередь, хеш-таблица хранит 2 значения. Эти 2 значения образуют элемент хеш-таблицы.

Ниже приведены некоторые примеры того, как могут выглядеть значения хеш-таблицы.

{ "001" , ".Net" }{ "002" , ".C#" }{ "003" , "ASP.Net" }

Выше у нас есть 3 пары ключ-значение. Ключи каждого элемента - 001, 002 и 003 соответственно. Значения каждой пары «ключ-значение»: «.Net», «C #» и «ASP.Net» соответственно.

Давайте более подробно рассмотрим операции, доступные для коллекции Hashtable.

Объявление хеш-таблицы

Объявление Hashtable показано ниже. Hashtable создается с помощью Hashtable Datatype. Ключевое слово «new» используется для создания объекта Hashtable. Затем объект присваивается переменной ht.

Hashtable ht = new Hashtable()

Добавление элементов в Hashtable

Метод Add используется для добавления элемента в очередь. Общий синтаксис оператора приведен ниже.

HashTable.add("key","value")

Пример 1:

Помните, что каждый элемент хеш-таблицы состоит из 2 значений, одно - это ключ, а другое - значение.

Теперь посмотрим, как это работает на уровне кода. Весь приведенный ниже код будет записан в наше консольное приложение.

Код будет записан в наш файл Program.cs. В приведенной ниже программе мы напишем код, чтобы увидеть, как мы можем использовать вышеупомянутые методы.

Сейчас в нашем примере мы просто посмотрим, как создать хеш-таблицу, добавить элементы в хеш-таблицу и соответствующим образом отобразить их.

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

Пояснение к коду: -

  1. Сначала мы объявляем переменную хеш-таблицы, используя тип данных Hashtable, используя ключевое слово «New». Имя определяемой переменной - ht.
  2. Затем мы добавляем элементы в хеш-таблицу с помощью метода Add. Помните, что при добавлении чего-либо в хеш-таблицу нам нужно добавить как элемент ключа, так и элемент значения.
  3. Нет прямого способа отобразить элементы хеш-таблицы.
  • Чтобы отобразить хеш-таблицу, нам сначала нужно получить список ключей (001, 002 и 003) из хеш-таблицы.
  • Это делается через интерфейс ICollection. Это особый тип данных, который можно использовать для хранения ключей коллекций хеш-таблиц. Затем мы назначаем ключи коллекции хеш-таблиц переменной keys.
  1. Затем для каждого значения ключа мы получаем соответствующее значение в хеш-таблице с помощью оператора ht [k].

Если приведенный выше код введен правильно и программа запущена, отобразится следующий вывод.

Выход:

Давайте посмотрим на еще несколько методов, доступных для хеш-таблиц.

ContainsKey

Этот метод используется для проверки наличия ключа в Hashtable. Ниже приведен общий синтаксис этого оператора. Оператор вернет true, если ключ существует, иначе он вернет значение false.

Hashtable.Containskey(key)

ContainsValue

Этот метод используется, чтобы увидеть, присутствует ли значение в хэш-таблице. Ниже приведен общий синтаксис этого оператора. Оператор вернет true, если Value существует, иначе он вернет значение false.

Hashtable.ContainsValue(value)

Пример 2:

Давайте изменим код в нашем консольном приложении, чтобы продемонстрировать, как мы можем использовать методы Containskey и 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();}}}

Пояснение к коду: -

  1. Сначала мы используем метод ContainsKey, чтобы увидеть, присутствует ли ключ в хеш-таблице. Этот метод вернет истину, если ключ присутствует в хеш-таблице. Этот метод должен возвращать истину, поскольку ключ действительно существует в хеш-таблице.
  2. Затем мы используем метод ContainsValue, чтобы увидеть, присутствует ли значение в хеш-таблице. Этот метод вернет «истину», поскольку значение действительно существует в хеш-таблице.

Если приведенный выше код введен правильно и программа запущена, отобразится следующий вывод.

Выход:

Из выходных данных вы можете ясно видеть, что в хэш-таблице присутствуют и ключ, и значение, в котором выполняется поиск.

Резюме

  • Хеш-таблица используется для хранения элементов, состоящих из пар ключей и значений. Чтобы получить доступ к значению элемента, вам необходимо знать ключ элемента.