List<T>.RemoveRange(Int32, Int32) Method is used to remove a range of elements from the List<T>. Properties of List:
- It is different from the arrays. A list can be resized dynamically but arrays cannot.
- List class can accept null as a valid value for reference types and it also allows duplicate elements.
- If the Count becomes equals to Capacity then the capacity of the List increases automatically by reallocating the internal array. The existing elements will be copied to the new array before the addition of the new element.
Syntax:
public void RemoveRange (int index, int count);
Parameters:
index: It is the zero-based starting index of the range of elements which is to be removed. count: It is the number of the elements which is to be removed.
Exceptions:
- ArgumentOutOfRangeException: If the index is less than zero or Count is less than zero.
- ArgumentException: If the index and Count do not denote a valid range of elements in the List<T>.
Below programs illustrate the use of List<T>.RemoveRange(Int32, Int32) Method: Example 1:
CSharp
using System;
using System.Collections;
using System.Collections.Generic;
class Geeks {
public static void Main(String[] args)
{
List<String> firstlist = new List<String>();
firstlist.Add( "Geeks" );
firstlist.Add( "For" );
firstlist.Add( "Geeks" );
firstlist.Add( "GFG" );
firstlist.Add( "C#" );
firstlist.Add( "Tutorials" );
firstlist.Add( "GeeksforGeeks" );
Console.WriteLine( "Elements in List:\n" );
foreach ( string ele in firstlist)
{
Console.WriteLine(ele);
}
firstlist.RemoveRange(3, 1);
Console.WriteLine( "" );
Console.WriteLine( "After Removing of elements:\n" );
foreach ( string ele in firstlist)
{
Console.WriteLine(ele);
}
}
}
|
Output:
Elements in List:
Geeks
For
Geeks
GFG
C#
Tutorials
GeeksforGeeks
After Removing of elements:
Geeks
For
Geeks
C#
Tutorials
GeeksforGeeks
Time Complexity: O(n)
Auxiliary Space: O(n)
Example 2:
CSharp
using System;
using System.Collections;
using System.Collections.Generic;
class Geeks {
public static void Main(String[] args)
{
List< int > firstlist = new List< int >();
firstlist.Add(1);
firstlist.Add(2);
firstlist.Add(3);
firstlist.Add(4);
firstlist.Add(5);
firstlist.Add(6);
firstlist.Add(7);
Console.WriteLine( "Elements in List:\n" );
foreach ( int ele in firstlist)
{
Console.WriteLine(ele);
}
firstlist.RemoveRange(3, 2);
Console.WriteLine( "" );
Console.WriteLine( "After Removing of elements:\n" );
foreach ( int ele in firstlist)
{
Console.WriteLine(ele);
}
}
}
|
Output:
Elements in List:
1
2
3
4
5
6
7
After Removing of elements:
1
2
3
6
7
Time complexity: O(n) since using a loop
Auxiliary Space: O(n) where n is size of the list
Reference: