A Hashtable is a collection of key/value pairs that are arranged based on the hash code of the key. Or in other words, a Hashtable is used to create a collection which uses a hash table for storage. It generally optimized the lookup by calculating the hash code of every key and store into another basket automatically and when you accessing the value from the hashtable at that time it matches the hashcode with the specified key. It is the non-generic type of collection which is defined in System.Collections namespace.
- In Hashtable, the key cannot be null, but value can be.
- In Hashtable, key objects must be immutable as long as they are used as keys in the Hashtable.
- The capacity of a Hashtable is the number of elements that Hashtable can hold.
- A hash function is provided by each key object in the Hashtable.
- The Hashtable class implements the IDictionary, ICollection, IEnumerable, ISerializable, IDeserializationCallback, and ICloneable interfaces.
- In hashtable, you can store elements of the same type and of the different types.
- The elements of hashtable that is a key/value pair are stored in DictionaryEntry, so you can also cast the key/value pairs to a DictionaryEntry.
- In Hashtable, key must be unique. Duplicate keys are not allowed.
How to create a Hashtable?
Hashtable class provides 16 different types of constructors which are used to create a hashtable, here we only use Hashtable() constructor. To read more about Hashtable’s contructors you can refer to C# | Hashtable Class This constructor is used to create an instance of the Hashtable class which is empty and having the default initial capacity, load factor, hash code provider, and comparer. Now, let’s see how to create a hashtable using Hashtable() constructor:
Step 1: Include System.Collections namespace in your program with the help of using keyword:
Step 2: Create a hashtable using Hashtable class as shown below:
Hashtable hashtable_name = new Hashtable();
Step 3: If you want to add a key/value pair in your hashtable, then use Add() method to add elements in your hashtable. And you can also store a key/value pair in your hashtable without using Add() method.
Key and Value pairs from my_hashtable1: A3 and GeeksforGeeks A2 and to A1 and Welcome Key and Value pairs from my_hashtable2: 4and 3and 230.45 2and 234 1and hello
How to remove elements from the hashtable?
In Hashtable, you are allowed to remove elements from the hashtable. The Hashtable class provides two different methods to remove elements and the methods are:
- Clear : This method is used to remove all the objects from the hashtable.
- Remove : This method is used to remove the element with the specified key from the hashtable.
Key and Value pairs : A3 and GeeksforGeeks A1 and Welcome Total number of elements present in my_hashtable:2 Total number of elements present in my_hashtable:0
How to check the availability of key/value pair in hashtable?
In hashtable, you can check whether the given pair is present or not using the following methods:
- Contains: This method is used to check whether the Hashtable contains a specific key.
- ContainsKey: This method is also used to check whether the Hashtable contains a specific key.
- ContainsValue: This method is used to check whether the Hashtable contains a specific value.
True False True False False True
- C# | Check if a Hashtable is equal to another Hashtable
- C# | Get or Set the value associated with specified key in Hashtable
- C# | Hashtable Class
- C# | Check if Hashtable is read-only
- Difference between Hashtable and Dictionary in C#
- C# | Gets an ICollection containing the keys in the Hashtable
- C# | Get an enumerator that iterates through the Hashtable
- C# | Check whether a Hashtable contains a specific key or not
- C# | Adding an element into the Hashtable
- C# | Gets an ICollection containing the values in the Hashtable
- C# | How to get hash code for the specified key of a Hashtable
- C# | Check if the Hashtable contains a specific Value
- C# | Check if the Hashtable contains a specific Key
- C# | Remove all elements from the Hashtable
- C# | Remove the element with the specified key from the Hashtable
- C# | Check if Hashtable has a fixed size
- C# | Count the number of key/value pairs in the Hashtable
- How to create a shallow copy of Hashtable in C#
- C# | Copying the Hashtable elements to an Array Instance
- C# | Check if Hashtable is synchronized (thread safe)
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.