ArrayList en C#

ArrayList es una característica poderosa del lenguaje C#. Es el tipo de colección no genérico que se define en el espacio de nombres System.Collections . Se utiliza para crear una array dinámica, lo que significa que el tamaño de la array aumenta o disminuye automáticamente según los requisitos de su programa, no es necesario especificar el tamaño de ArrayList. O, en otras palabras, ArrayList representa una colección ordenada de un objeto que se puede indexar individualmente. En ArrayList, puede almacenar elementos del mismo tipo y de diferentes tipos. Pertenece a la colección no genérica. El siguiente diagrama ilustra la jerarquía de clases de ArrayList :
 

Puntos importantes:
 

  • La clase ArrayList implementa las interfaces IEnumerable , ICollection , IList e ICloneable.
  • La clase ArrayList hereda la clase Object .
  • ArrayList se define en el espacio de nombres System.Collections . Entonces, cuando usa Arraylist en su programa, debe agregar el espacio de nombres System.Collections .
  • No puede implementar una array multidimensional utilizando ArrayList.
  • La capacidad de un ArrayList es el número de elementos que puede contener ArrayList.
  • Puede usar elementos duplicados en su ArrayList.
  • Puede aplicar la búsqueda y clasificación en los elementos presentes en ArrayList.
  • Arraylist puede aceptar nulo como un valor válido.

¿Cómo crear el ArrayList?

La clase ArrayList tiene tres constructores que se utilizan para crear ArrayList.
 

  • ArrayList(): este constructor se utiliza para crear una instancia de la clase ArrayList que está vacía y no tiene capacidad inicial.
  • ArrayList(Int32): este constructor se usa para crear una instancia de la clase ArrayList que está vacía y tiene la capacidad inicial especificada.
  • ArrayList(ICollection): este constructor se usa para crear una lista de arreglos inicializada con los elementos de la colección especificada y que tiene la misma capacidad inicial que se copia de la colección.

Veamos cómo crear una ArrayList usando el constructor ArrayList():
 

  • Paso 1: Incluya el espacio de nombres System.Collections en su programa con la ayuda del uso de palabras clave.
    Sintaxis: 
     
using System.Collections;
  • Paso 2: Cree una ArrayList usando la clase ArrayList como se muestra a continuación:
     
ArrayList list_name = new ArrayList();
  • Paso 3: si desea agregar elementos en su ArrayList, use el método Add() para agregar elementos en su ArrayList. Como se muestra en el siguiente ejemplo.
  • Paso 4: se accede a los elementos de ArrayList mediante un bucle foreach, un bucle for o un indexador. Como se muestra en el siguiente ejemplo, accedemos a ArrayList mediante un bucle foreach.

Ejemplo: el programa siguiente muestra cómo crear una ArrayList, agregar elementos a la ArrayList y cómo acceder a los elementos de la ArrayList.
 

CSharp

// C# program to demonstrate the ArrayList
using System;
using System.Collections;
 
class GFG {
 
    // Main Method
    static public void Main()
    {
 
        // Creating ArrayList
        ArrayList My_array = new ArrayList();
 
        // Adding elements in the
        // My_array ArrayList
        // This ArrayList contains elements
        // of different types
        My_array.Add(12.56);
        My_array.Add("GeeksforGeeks");
        My_array.Add(null);
        My_array.Add('G');
        My_array.Add(1234);
 
        // Accessing the elements
        // of My_array ArrayList
        // Using foreach loop
        foreach(var elements in My_array)
        {
            Console.WriteLine(elements);
        }
    }
}
Producción: 

12.56
GeeksforGeeks

G
1234

 

¿Cómo encontrar la capacidad y el recuento de elementos de ArrayList?

Para encontrar esto, podemos usar la propiedad Count y Capacity de una clase ArrayList de la siguiente manera:
Ejemplo:
 

csharp

// C# program to find the number of
// elements and capacity of ArrayList
using System;
using System.Collections;
 
class GFG {
     
// Driver code
public static void Main() {
     
    // Creating an ArrayList
    ArrayList myList = new ArrayList();
     
    // Adding elements to ArrayList
    myList.Add(1);
    myList.Add(2);
    myList.Add(3);
    myList.Add(4);
    myList.Add(5);
     
    // Displaying count of elements of ArrayList
    Console.WriteLine("Number of elements: " + myList.Count);
     
    // Displaying Current capacity of ArrayList
    Console.WriteLine("Current capacity: " + myList.Capacity);
}
}
Producción: 

Number of elements: 5
Current capacity: 8

 

¿Cómo eliminar elementos de ArrayList?

En ArrayList, puede eliminar elementos de ArrayList. ArrayList proporciona cuatro métodos diferentes para eliminar elementos y los métodos son:
 

  • Eliminar : este método se utiliza para eliminar la primera aparición de un objeto específico de ArrayList.
  • RemoveAt : este método se utiliza para eliminar el elemento en el índice especificado de ArrayList.
  • RemoveRange : este método se utiliza para eliminar un rango de elementos de ArrayList.
  • Borrar : este método se utiliza para eliminar todos los elementos de ArrayList.

Ejemplo:
 

CSharp

// C# program to illustrate how
// to remove elements from the
// ArrayList
using System;
using System.Collections;
 
class GFG {
 
    static public void Main()
    {
 
        // Creating ArrayList
        ArrayList My_array = new ArrayList();
 
        // Adding elements in the
        // My_array ArrayList
        // This ArrayList contains elements
        // of the same types
        My_array.Add('G');
        My_array.Add('E');
        My_array.Add('E');
        My_array.Add('K');
        My_array.Add('S');
        My_array.Add('F');
        My_array.Add('O');
        My_array.Add('R');
        My_array.Add('G');
        My_array.Add('E');
        My_array.Add('E');
        My_array.Add('K');
        My_array.Add('S');
 
        Console.WriteLine("Initial number of elements : "
                                       + My_array.Count);
 
        // Remove the 'G' element
        // from the ArrayList
        // Using Remove() method
        My_array.Remove('G');
        Console.WriteLine("After Remove() method the "+
              "number of elements: " + My_array.Count);
 
        // Remove the element present at index 8
        // Using RemoveAt() method
        My_array.RemoveAt(8);
        Console.WriteLine("After RemoveAt() method the "+
                "number of elements: " + My_array.Count);
 
        // Remove 3 elements starting from index 1
        // using RemoveRange() method
        My_array.RemoveRange(1, 3);
        Console.WriteLine("After RemoveRange() method the"+
                 " number of elements: " + My_array.Count);
 
        // Remove the all element
        // present in ArrayList
        // Using Clear() method
        My_array.Clear();
        Console.WriteLine("After Clear() method the "+
            "number of elements: " + My_array.Count);
    }
}
Producción: 

Initial number of elements : 13
After Remove() method the number of elements: 12
After RemoveAt() method the number of elements: 11
After RemoveRange() method the number of elements: 8
After Clear() method the number of elements: 0

 

¿Cómo ordenar los elementos de ArrayList?

En ArrayList, puede ordenar los elementos presentes en el ArrayList dado usando el método Sort(). Este método utiliza el algoritmo QuickSort para realizar la clasificación en ArrayList y los elementos se organizan en orden ascendente. El uso de este método se muestra en el siguiente ejemplo. 
Ejemplo:
 

CSharp

// C# program to illustrate
// sorting of ArrayList
using System;
using System.Collections;
 
public class GFG {
    static public void Main()
    {
 
        // Creating ArrayList
        ArrayList My_array = new ArrayList();
 
        // Adding elements in the
        // My_array ArrayList
        // This ArrayList contains
        // elements of the same types
        My_array.Add(1);
        My_array.Add(6);
        My_array.Add(40);
        My_array.Add(10);
        My_array.Add(5);
        My_array.Add(3);
        My_array.Add(2);
        My_array.Add(4);
 
        // ArrayList before sorting
        Console.WriteLine("ArrayList before using Sort() method:");
 
        foreach(var elements in My_array)
        {
            Console.WriteLine(elements);
        }
 
        // Sort the elements of the ArrayList
        // Using sort() method
        My_array.Sort();
 
        // ArrayList after sorting
        Console.WriteLine("ArrayList after using Sort() method:");
        foreach(var elements in My_array)
        {
            Console.WriteLine(elements);
        }
    }
}
Producción: 

ArrayList before using Sort() method:
1
6
40
10
5
3
2
4
ArrayList after using Sort() method:
1
2
3
4
5
6
10
40

 

Nota: 
 

  • También puede crear el objeto de la clase ArrayList utilizando las interfaces IEnumerable , ICollection e IList , pero algunos métodos de la clase ArrayList no se aplicarán a ellos, ya que no son miembros de estas interfaces.
    Ejemplo:
     
// using IList Interface
IList arrlist1 = new ArrayList();

// using ICollection Interface
ICollection arrlist2 = new ArrayList();

// using IEnumerable Interface
IEnumerable arrlist3 = new ArrayList();
  • Pero aquí, no puede aplicar métodos como Reverse(), AddRange(), etc.
  • Para obtener más información sobre los constructores, las propiedades y los métodos de la clase ArrayList, consulte Clase ArrayList .
  • Para leer sobre la diferencia entre Array y ArrayList, consulte Array vs ArrayList en C# .

Publicación traducida automáticamente

Artículo escrito por ankita_saini 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 *