C# | ListDictionary Class
ListDictionary is a specialized collection. It comes under the System.Collections.Specialized namespace. This type represents a non-generic dictionary type. It is implemented with a linked list. This class is a simple implementation of a dictionary collection (System.Collections.IDictionary) for small lists. It implements the IDictionary methods and properties, and is suggested for use with a small number of elements (less than 10).
Characteristics of ListDictionary Class:
- ListDictionary is a simple implementation of IDictionary using a singly linked list.
- It is smaller and faster than a Hashtable if the number of elements is 10 or less.
- ListDictionary should not be used if performance is important for large numbers of elements.
- Items in a ListDictionary are not in any guaranteed order.
- A key cannot be null, but a value can.
Constructors
Constructor | Description |
---|---|
ListDictionary() | Creates an empty ListDictionary using the default comparer. |
ListDictionary(IComparer) | Creates an empty ListDictionary using the specified comparer. |
Example:
// C# code to create a ListDictionary using System; using System.Collections; using System.Collections.Specialized; class GFG { // Driver code public static void Main() { // Creating a ListDictionary named myDict ListDictionary myDict = new ListDictionary(); // Adding key/value pairs in myDict myDict.Add( "Australia" , "Canberra" ); myDict.Add( "Belgium" , "Brussels" ); myDict.Add( "Netherlands" , "Amsterdam" ); myDict.Add( "China" , "Beijing" ); myDict.Add( "Russia" , "Moscow" ); myDict.Add( "India" , "New Delhi" ); // To get count of key/value pairs in myDict Console.WriteLine( "Total key/value pairs in myDict are : " + myDict.Count); // Displaying the key/value pairs in myDict Console.WriteLine( "The key/value pairs in myDict are : " ); foreach (DictionaryEntry de in myDict) { Console.WriteLine(de.Key + " " + de.Value); } } } |
Output:
Total key/value pairs in myDict are : 6 The key/value pairs in myDict are : Australia Canberra Belgium Brussels Netherlands Amsterdam China Beijing Russia Moscow India New Delhi
Properties
Property | Description |
---|---|
Count | Gets the number of key/value pairs contained in the ListDictionary. |
IsFixedSize | Gets a value indicating whether the ListDictionary has a fixed size. |
IsReadOnly | Gets a value indicating whether the ListDictionary is read-only. |
IsSynchronized | Gets a value indicating whether the ListDictionary is synchronized (thread safe). |
Item[Object] | Gets or sets the value associated with the specified key. |
Keys | Gets an ICollection containing the keys in the ListDictionary. |
SyncRoot | Gets an object that can be used to synchronize access to the ListDictionary. |
Values | Gets an ICollection containing the values in the ListDictionary. |
Example 1:
// C# code to get the number // of key/value pairs contained // in the ListDictionary using System; using System.Collections; using System.Collections.Specialized; class GFG { // Driver code public static void Main() { // Creating a ListDictionary named myDict ListDictionary myDict = new ListDictionary(); // Adding key/value pairs in myDict myDict.Add( "Australia" , "Canberra" ); myDict.Add( "Belgium" , "Brussels" ); myDict.Add( "Netherlands" , "Amsterdam" ); myDict.Add( "China" , "Beijing" ); myDict.Add( "Russia" , "Moscow" ); myDict.Add( "India" , "New Delhi" ); // Displaying the number of key/value // pairs contained in the ListDictionary Console.WriteLine(myDict.Count); } } |
Output:
6
Example 2:
// C# code to check if ListDictionary is read-only using System; using System.Collections; using System.Collections.Specialized; class GFG { // Driver code public static void Main() { // Creating a ListDictionary named myDict ListDictionary myDict = new ListDictionary(); myDict.Add( "Australia" , "Canberra" ); myDict.Add( "Belgium" , "Brussels" ); myDict.Add( "Netherlands" , "Amsterdam" ); myDict.Add( "China" , "Beijing" ); myDict.Add( "Russia" , "Moscow" ); myDict.Add( "India" , "New Delhi" ); // Checking if ListDictionary is read-only Console.WriteLine(myDict.IsReadOnly); } } |
Output:
False
Methods
Method | Description |
---|---|
Add(Object, Object) | Adds an entry with the specified key and value into the ListDictionary. |
Clear() | Removes all entries from the ListDictionary. |
Contains(Object) | Determines whether the ListDictionary contains a specific key. |
CopyTo(Array, Int32) | Copies the ListDictionary entries to a one-dimensional Array instance at the specified index. |
Equals(Object) | Determines whether the specified object is equal to the current object. |
GetEnumerator() | Returns an IDictionaryEnumerator that iterates through the ListDictionary. |
GetHashCode() | Serves as the default hash function. |
GetType() | Gets the Type of the current instance. |
MemberwiseClone() | Creates a shallow copy of the current Object. |
Remove(Object) | Removes the entry with the specified key from the ListDictionary. |
ToString() | Returns a string that represents the current object. |
Example 1:
// C# code to add an entry with // the specified key and value // into the ListDictionary using System; using System.Collections; using System.Collections.Specialized; class GFG { // Driver code public static void Main() { // Creating a ListDictionary named myDict ListDictionary myDict = new ListDictionary(); myDict.Add( "Australia" , "Canberra" ); myDict.Add( "Belgium" , "Brussels" ); myDict.Add( "Netherlands" , "Amsterdam" ); myDict.Add( "China" , "Beijing" ); myDict.Add( "Russia" , "Moscow" ); myDict.Add( "India" , "New Delhi" ); // Displaying the total number of elements in myDict Console.WriteLine( "Total number of elements in myDict are : " + myDict.Count); // Displaying the elements in ListDictionary myDict foreach (DictionaryEntry de in myDict) { Console.WriteLine(de.Key + " " + de.Value); } } } |
Output:
Total number of elements in myDict are : 6 Australia Canberra Belgium Brussels Netherlands Amsterdam China Beijing Russia Moscow India New Delhi
Example 2:
// C# code to remove all entries // from the ListDictionary using System; using System.Collections; using System.Collections.Specialized; class GFG { // Driver code public static void Main() { // Creating a ListDictionary named myDict ListDictionary myDict = new ListDictionary(); // Adding key/value pairs in myDict myDict.Add( "I" , "first" ); myDict.Add( "II" , "second" ); myDict.Add( "III" , "third" ); myDict.Add( "IV" , "fourth" ); myDict.Add( "V" , "fifth" ); // To get count of key/value pairs in myDict Console.WriteLine( "Total key/value pairs in myDict are : " + myDict.Count); // Displaying the key/value pairs in myDict Console.WriteLine( "The key/value pairs in myDict are : " ); foreach (DictionaryEntry de in myDict) { Console.WriteLine(de.Key + " " + de.Value); } // Removing all entries from the ListDictionary myDict.Clear(); // To get count of key/value pairs in myDict Console.WriteLine( "Total key/value pairs in myDict are : " + myDict.Count); // Displaying the key/value pairs in myDict Console.WriteLine( "The key/value pairs in myDict are : " ); foreach (DictionaryEntry de in myDict) { Console.WriteLine(de.Key + " " + de.Value); } } } |
Output:
Total key/value pairs in myDict are : 5 The key/value pairs in myDict are : I first II second III third IV fourth V fifth Total key/value pairs in myDict are : 0 The key/value pairs in myDict are :
Reference:
Please Login to comment...