C# | Search in a SortedList object
SortedList class is a collection of (key, value) pairs which are sorted according to keys. Those pairs can be accessible by key and as well as by index(zero-based indexing). This comes under System.Collections namespace. SortedList.ContainsKey(Object) method is used to check whether a SortedList object contains a specific key or not.
Properties:
- A SortedList element can be accessed by its key or by its index.
- A SortedList object internally maintains two arrays to store the elements of the list, i.e, one array for the keys and another array for the associated values.
- A key cannot be null, but a value can be.
- The capacity of a SortedList object is the number of elements the SortedList can hold.
- A SortedList does not allow duplicate keys.
- Operations on a SortedList object tend to be slower than operations on a Hashtable object because of the sorting.
- Elements in this collection can be accessed using an integer index. Indexes in this collection are zero-based.
Syntax:
public virtual bool ContainsKey (object key);
Here, key is the key to locate in the SortedList object.
Return Value: This method will return True if the SortedList object contains an element with the specified key otherwise it returns False.
Exceptions:
- ArgumentNullException : If the key is null.
- InvalidOperationException : If the comparer throws an exception.
Below given are some examples to understand the implementation in a better way:
Example 1:
// C# code to check if a SortedList // object contains a specific key using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating an SortedList SortedList mySortedList = new SortedList(); // Adding elements to SortedList mySortedList.Add( "h" , "Hello" ); mySortedList.Add( "g" , "Geeks" ); mySortedList.Add( "f" , "For" ); mySortedList.Add( "n" , "Noida" ); // Checking if a SortedList object // contains a specific key Console.WriteLine(mySortedList.ContainsKey( "g" )); } } |
True
Example 2:
// C# code to check if a SortedList // object contains a specific key using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating an SortedList SortedList mySortedList = new SortedList(); // Adding elements to SortedList mySortedList.Add( "h" , "Hello" ); mySortedList.Add( "g" , "Geeks" ); mySortedList.Add( "f" , "For" ); mySortedList.Add( "n" , "Noida" ); // Checking if a SortedList object // contains a specific key // It should throw ArgumentNullException // as the Key can not be null Console.WriteLine(mySortedList.ContainsKey( null )); } } |
Error:
Unhandled Exception:
System.ArgumentNullException: Key cannot be null.
Parameter name: key
Note: This method uses a binary search algorithm, therefore, this method is an O(log n) operation, where n is Count.
Reference:
Please Login to comment...