C# | Remove from the specified index of 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.RemoveAt(Int32) method is used to remove the element at the specified index of a SortedList object.
- 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.
public virtual void RemoveAt (int index);
Here, index is the zero-based index of the element to remove.
- NotSupportedException : If the SortedList object is read-only or the SortedList has a fixed size.
- ArgumentOutOfRangeException : If the index is outside the range of valid indexes for the SortedList object.
Below given are some examples to understand the implementation in a better way:
Key = CE Key = CS Key = DS Key = EE Key = ME Key = Civil Engineering Key = Computer Science Key = Data Structures Key = Electrical Engineering Key = Mechanical Engineering Removing element at index 4 Key = CE Key = CS Key = DS Key = EE Key = Civil Engineering Key = Computer Science Key = Data Structures Key = Electrical Engineering
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
- The index sequence is based on the sort sequence. When an element is added, it is inserted into SortedList in the correct sort order, and the indexing adjusts accordingly. When an element is removed, the indexing also adjusts accordingly. Therefore, the index of a specific key/value pair might change as elements are added or removed from the SortedList object.
- This method is an O(n) operation, where n is Count.