C# | Remove the element with the specified key from a SortedList
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.Remove(Object) method is used to remove the element with the specified key from a SortedList object.
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 void Remove (object key);
Here, key is the key of the element to remove.
Exceptions:
- NotSupportedException : If the SortedList object is read-only or the SortedList has a fixed size.
- ArgumentNullException : If the key is null.
Below given are some examples to understand the implementation in a better way:
Example 1:
// C# code to remove the element // with the specified key from a SortedList 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( "IN" , "INDIA" ); mySortedList.Add( "NY" , "NEW-YORK" ); mySortedList.Add( "UK" , "UNITED KINGDOM" ); mySortedList.Add( "GER" , "GERMANY" ); mySortedList.Add( "CH" , "CHINA" ); // Displaying elements in SortedList foreach ( string mykey in mySortedList.Keys) Console.WriteLine( "Key = " + mykey); foreach ( string myvalue in mySortedList.Values) Console.WriteLine( "Key = " + myvalue); // Removing element having key as "UK" Console.WriteLine( "Removing element having key as UK" ); mySortedList.Remove( "UK" ); // Displaying elements in SortedList foreach ( string mykey in mySortedList.Keys) Console.WriteLine( "Key = " + mykey); foreach ( string myvalue in mySortedList.Values) Console.WriteLine( "Key = " + myvalue); } } |
Output:
Key = CH Key = GER Key = IN Key = NY Key = UK Key = CHINA Key = GERMANY Key = INDIA Key = NEW-YORK Key = UNITED KINGDOM Removing element having key as UK Key = CH Key = GER Key = IN Key = NY Key = CHINA Key = GERMANY Key = INDIA Key = NEW-YORK
Example 2:
// C# code to remove the element // with the specified key from a SortedList using System; using System.Collections; using System.Collections.Generic; class GFG { // Driver code public static void Main() { // Creating an SortedList SortedList mySortedList = new SortedList(); // Adding elements to SortedList mySortedList.Add( "IN" , "INDIA" ); mySortedList.Add( "NY" , "NEW-YORK" ); mySortedList.Add( "UK" , "UNITED KINGDOM" ); mySortedList.Add( "GER" , "GERMANY" ); mySortedList.Add( "CH" , "CHINA" ); // Displaying elements in SortedList foreach ( string mykey in mySortedList.Keys) Console.WriteLine( "Key = " + mykey); foreach ( string myvalue in mySortedList.Values) Console.WriteLine( "Key = " + myvalue); // Removing element having key as null Console.WriteLine( "Removing element having key as null" ); // It should raise ArgumentNullException // as key can not be null mySortedList.Remove( null ); // Displaying elements in SortedList foreach ( string mykey in mySortedList.Keys) Console.WriteLine( "Key = " + mykey); foreach ( string myvalue in mySortedList.Values) Console.WriteLine( "Key = " + myvalue); } } |
Error:
Unhandled Exception:
System.ArgumentNullException: Key cannot be null.
Parameter name: key
Note:
- If the SortedList object does not contain an element with the specified key, the SortedList remains unchanged. No exception is thrown.
- This method is an O(n) operation, where n is Count.
Reference:
Please Login to comment...