C# | Eliminación de un rango de elementos de la Lista

El método List<T>.RemoveRange(Int32, Int32) se usa para eliminar un rango de elementos de List<T>. Propiedades de la lista:

  • Es diferente de las arrays. Una lista se puede cambiar de tamaño dinámicamente, pero las arrays no.
  • La clase de lista puede aceptar nulo como un valor válido para los tipos de referencia y también permite elementos duplicados.
  • Si el recuento se vuelve igual a la capacidad , la capacidad de la lista aumenta automáticamente al reasignar la array interna. Los elementos existentes se copiarán en la nueva array antes de agregar el nuevo elemento.

Sintaxis:

public void RemoveRange (int index, int count);

Parámetros:

índice: Es el índice inicial de base cero del rango de elementos que se va a eliminar. count: Es el número de los elementos que se van a eliminar.

Excepciones:

  • ArgumentOutOfRangeException: si el índice es menor que cero o Count es menor que cero.
  • ArgumentException: si el índice y Count no indican un rango válido de elementos en List<T>.

Los siguientes programas ilustran el uso del método List<T>.RemoveRange(Int32, Int32): Ejemplo 1: 

CSharp

// C# Program to remove a range of
// elements from the List
using System;
using System.Collections;
using System.Collections.Generic;
 
class Geeks {
 
    // Main Method
    public static void Main(String[] args)
    {
 
        // Creating an List<T> of strings
        List<String> firstlist = new List<String>();
 
        // Adding elements to List
        firstlist.Add("Geeks");
        firstlist.Add("For");
        firstlist.Add("Geeks");
        firstlist.Add("GFG");
        firstlist.Add("C#");
        firstlist.Add("Tutorials");
        firstlist.Add("GeeksforGeeks");
 
        // Displaying the elements of firstlist
        Console.WriteLine("Elements in List:\n");
 
        foreach(string ele in firstlist)
        {
            Console.WriteLine(ele);
        }
 
        // removing 1 elements starting
        // from index 3
        firstlist.RemoveRange(3, 1);
 
        Console.WriteLine("");
 
        // Displaying the updated List
        Console.WriteLine("After Removing of elements:\n");
 
        // Displaying the elements in List
        foreach(string ele in firstlist)
        {
            Console.WriteLine(ele);
        }
    }
}

Producción:

Elements in List:

Geeks
For
Geeks
GFG
C#
Tutorials
GeeksforGeeks

After Removing of elements:

Geeks
For
Geeks
C#
Tutorials
GeeksforGeeks

Complejidad de tiempo: O(n)

Espacio Auxiliar: O(n)

Ejemplo 2: 

CSharp

// C# Program to remove a range of
// elements from the List
using System;
using System.Collections;
using System.Collections.Generic;
 
class Geeks {
 
    // Main Method
    public static void Main(String[] args)
    {
 
        // Creating an List<T> of Integers
        List<int> firstlist = new List<int>();
 
        // Adding elements to List
        firstlist.Add(1);
        firstlist.Add(2);
        firstlist.Add(3);
        firstlist.Add(4);
        firstlist.Add(5);
        firstlist.Add(6);
        firstlist.Add(7);
 
        // Displaying the elements of firstlist
        Console.WriteLine("Elements in List:\n");
 
        foreach(int ele in firstlist)
        {
            Console.WriteLine(ele);
        }
 
        // removing 2 elements starting
        // from index 3 i.e 3rd and 4th
        firstlist.RemoveRange(3, 2);
 
        Console.WriteLine("");
 
        // Displaying the updated List
        Console.WriteLine("After Removing of elements:\n");
 
        // Displaying the elements in List
        foreach(int ele in firstlist)
        {
            Console.WriteLine(ele);
        }
    }
}

Producción:

Elements in List:

1
2
3
4
5
6
7

After Removing of elements:

1
2
3
6
7

Complejidad del tiempo: O(n) desde el uso de un bucle

Espacio auxiliar: O(n) donde n es el tamaño de la lista

Referencia:

Publicación traducida automáticamente

Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *