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