ArrayList Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Implementa la IList interfaz mediante una matriz cuyo tamaño se incrementa dinámicamente según sea necesario.
public ref class ArrayList : System::Collections::IList
public ref class ArrayList : ICloneable, System::Collections::IList
public class ArrayList : System.Collections.IList
public class ArrayList : ICloneable, System.Collections.IList
[System.Serializable]
public class ArrayList : ICloneable, System.Collections.IList
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class ArrayList : ICloneable, System.Collections.IList
type ArrayList = class
interface IEnumerable
interface IList
interface ICollection
type ArrayList = class
interface ICollection
interface IEnumerable
interface IList
interface ICloneable
type ArrayList = class
interface IEnumerable
interface IList
interface ICollection
interface ICloneable
[<System.Serializable>]
type ArrayList = class
interface IList
interface ICollection
interface IEnumerable
interface ICloneable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ArrayList = class
interface IList
interface ICollection
interface IEnumerable
interface ICloneable
Public Class ArrayList
Implements IList
Public Class ArrayList
Implements ICloneable, IList
- Herencia
-
ArrayList
- Derivado
- Atributos
- Implementaciones
Ejemplos
En el ejemplo siguiente se muestra cómo crear e inicializar y ArrayList cómo mostrar sus valores.
using System;
using System.Collections;
public class SamplesArrayList {
public static void Main() {
// Creates and initializes a new ArrayList.
ArrayList myAL = new ArrayList();
myAL.Add("Hello");
myAL.Add("World");
myAL.Add("!");
// Displays the properties and values of the ArrayList.
Console.WriteLine( "myAL" );
Console.WriteLine( " Count: {0}", myAL.Count );
Console.WriteLine( " Capacity: {0}", myAL.Capacity );
Console.Write( " Values:" );
PrintValues( myAL );
}
public static void PrintValues( IEnumerable myList ) {
foreach ( Object obj in myList )
Console.Write( " {0}", obj );
Console.WriteLine();
}
}
/*
This code produces output similar to the following:
myAL
Count: 3
Capacity: 4
Values: Hello World !
*/
Imports System.Collections
Public Class SamplesArrayList
Public Shared Sub Main()
' Creates and initializes a new ArrayList.
Dim myAL As New ArrayList()
myAL.Add("Hello")
myAL.Add("World")
myAL.Add("!")
' Displays the properties and values of the ArrayList.
Console.WriteLine("myAL")
Console.WriteLine(" Count: {0}", myAL.Count)
Console.WriteLine(" Capacity: {0}", myAL.Capacity)
Console.Write(" Values:")
PrintValues(myAL)
End Sub
Public Shared Sub PrintValues(myList As IEnumerable)
Dim obj As [Object]
For Each obj In myList
Console.Write(" {0}", obj)
Next obj
Console.WriteLine()
End Sub
End Class
' This code produces output similar to the following:
'
' myAL
' Count: 3
' Capacity: 4
' Values: Hello World !
Comentarios
Importante
No se recomienda usar la ArrayList clase para el nuevo desarrollo. En su lugar, se recomienda usar la clase genérica List<T> .
La ArrayList clase está diseñada para contener colecciones heterogéneas de objetos. Sin embargo, no siempre ofrece el mejor rendimiento. En su lugar, se recomienda lo siguiente:
- Para una colección heterogénea de objetos, use el
List<Object>tipo (en C#) oList(Of Object)(en Visual Basic). - Para una colección homogénea de objetos, use la List<T> clase . Consulte Consideraciones de rendimiento en el List<T> tema de referencia para obtener una explicación sobre el rendimiento relativo de estas clases. Consulte Colecciones no genéricas que no deben usarse en GitHub para obtener información general sobre el uso de tipos de colección genéricos en lugar de no genéricos.
No está garantizado que ArrayList esté ordenado. Debe ordenar mediante una ArrayList llamada a su Sort método antes de realizar operaciones (como BinarySearch) que requieren que ArrayList se ordene . Para mantener una colección que se ordena automáticamente a medida que se agregan nuevos elementos, puede usar la SortedSet<T> clase .
La capacidad de es ArrayList el número de elementos que ArrayList puede contener. A medida que se agregan elementos a , ArrayListla capacidad aumenta automáticamente según sea necesario mediante la reasignación. La capacidad se puede reducir llamando a TrimToSize o estableciendo la Capacity propiedad explícitamente.
Solo .NET Framework: Para objetos muy grandesArrayList, puede aumentar la capacidad máxima a 2 mil millones de elementos en un sistema de 64 bits estableciendo el enabled atributo del elemento true de <gcAllowVeryLargeObjects> configuración en en el entorno en tiempo de ejecución.
Se puede acceder a los elementos de esta colección mediante un índice entero. Los índices de esta colección se basan en cero.
La ArrayList colección acepta null como un valor válido. También permite elementos duplicados.
No se admite el uso de matrices multidimensionales como elementos de una ArrayList colección.
Constructores
| Nombre | Description |
|---|---|
| ArrayList() |
Inicializa una nueva instancia de la ArrayList clase que está vacía y tiene la capacidad inicial predeterminada. |
| ArrayList(ICollection) |
Inicializa una nueva instancia de la ArrayList clase que contiene elementos copiados de la colección especificada y que tiene la misma capacidad inicial que el número de elementos copiados. |
| ArrayList(Int32) |
Inicializa una nueva instancia de la ArrayList clase que está vacía y tiene la capacidad inicial especificada. |
Propiedades
| Nombre | Description |
|---|---|
| Capacity |
Obtiene o establece el número de elementos que ArrayList puede contener. |
| Count |
Obtiene el número de elementos contenidos realmente en .ArrayList |
| IsFixedSize |
Obtiene un valor que indica si ArrayList tiene un tamaño fijo. |
| IsReadOnly |
Obtiene un valor que indica si es ArrayList de solo lectura. |
| IsSynchronized |
Obtiene un valor que indica si el acceso a ArrayList está sincronizado (seguro para subprocesos). |
| Item[Int32] |
Obtiene o establece el elemento en el índice especificado. |
| SyncRoot |
Obtiene un objeto que se puede usar para sincronizar el acceso a .ArrayList |
Métodos
| Nombre | Description |
|---|---|
| Adapter(IList) |
Crea un ArrayList contenedor para un elemento específico IList. |
| Add(Object) |
Agrega un objeto al final de .ArrayList |
| AddRange(ICollection) |
Agrega los elementos de un ICollection objeto al final de .ArrayList |
| BinarySearch(Int32, Int32, Object, IComparer) |
Busca un intervalo de elementos en el ordenado ArrayList para un elemento utilizando el comparador especificado y devuelve el índice de base cero del elemento. |
| BinarySearch(Object, IComparer) |
Busca todo el elemento ordenado ArrayList con el comparador especificado y devuelve el índice de base cero del elemento. |
| BinarySearch(Object) |
Busca en todo el elemento ordenado ArrayList mediante el comparador predeterminado y devuelve el índice de base cero del elemento. |
| Clear() |
Quita todos los elementos de .ArrayList |
| Clone() |
Crea una copia superficial de .ArrayList |
| Contains(Object) |
Determina si un elemento está en .ArrayList |
| CopyTo(Array, Int32) |
Copia todo en ArrayList una unidimensional Arraycompatible, empezando por el índice especificado de la matriz de destino. |
| CopyTo(Array) |
Copia todo en ArrayList una unidimensional Arraycompatible, comenzando al principio de la matriz de destino. |
| CopyTo(Int32, Array, Int32, Int32) |
Copia un intervalo de elementos de ArrayList a una unidimensional Arraycompatible, empezando por el índice especificado de la matriz de destino. |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| FixedSize(ArrayList) |
Devuelve un ArrayList contenedor con un tamaño fijo. |
| FixedSize(IList) |
Devuelve un IList contenedor con un tamaño fijo. |
| GetEnumerator() |
Devuelve un enumerador para todo ArrayList. |
| GetEnumerator(Int32, Int32) |
Devuelve un enumerador para un intervalo de elementos de ArrayList. |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetRange(Int32, Int32) |
Devuelve un ArrayList que representa un subconjunto de los elementos del origen ArrayList. |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| IndexOf(Object, Int32, Int32) |
Busca el especificado Object y devuelve el índice de base cero de la primera aparición dentro del intervalo de elementos de que ArrayList comienza en el índice especificado y contiene el número especificado de elementos. |
| IndexOf(Object, Int32) |
Busca el especificado Object y devuelve el índice de base cero de la primera aparición dentro del intervalo de elementos del ArrayList que se extiende desde el índice especificado hasta el último elemento. |
| IndexOf(Object) |
Busca el especificado Object y devuelve el índice de base cero de la primera aparición dentro de todo ArrayList. |
| Insert(Int32, Object) |
Inserta un elemento en en el ArrayList índice especificado. |
| InsertRange(Int32, ICollection) |
Inserta los elementos de una colección en en el ArrayList índice especificado. |
| LastIndexOf(Object, Int32, Int32) |
Busca el especificado Object y devuelve el índice de base cero de la última aparición dentro del intervalo de elementos ArrayList del que contiene el número especificado de elementos y termina en el índice especificado. |
| LastIndexOf(Object, Int32) |
Busca el especificado Object y devuelve el índice de base cero de la última aparición dentro del intervalo de elementos del ArrayList que se extiende desde el primer elemento al índice especificado. |
| LastIndexOf(Object) |
Busca el especificado Object y devuelve el índice de base cero de la última aparición dentro de todo ArrayList. |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| ReadOnly(ArrayList) |
Devuelve un contenedor de solo lectura ArrayList . |
| ReadOnly(IList) |
Devuelve un contenedor de solo lectura IList . |
| Remove(Object) |
Quita la primera aparición de un objeto específico de .ArrayList |
| RemoveAt(Int32) |
Quita el elemento en el índice especificado de .ArrayList |
| RemoveRange(Int32, Int32) |
Quita un intervalo de elementos de .ArrayList |
| Repeat(Object, Int32) |
Devuelve un ArrayList cuyos elementos son copias del valor especificado. |
| Reverse() |
Invierte el orden de los elementos en toda ArrayListla colección . |
| Reverse(Int32, Int32) |
Invierte el orden de los elementos del intervalo especificado. |
| SetRange(Int32, ICollection) |
Copia los elementos de una colección en un intervalo de elementos de ArrayList. |
| Sort() |
Ordena los elementos de toda ArrayListla colección . |
| Sort(IComparer) |
Ordena los elementos de todo ArrayList mediante el comparador especificado. |
| Sort(Int32, Int32, IComparer) |
Ordena los elementos de un intervalo de elementos en ArrayList mediante el comparador especificado. |
| Synchronized(ArrayList) |
Devuelve un ArrayList contenedor que está sincronizado (seguro para subprocesos). |
| Synchronized(IList) |
Devuelve un IList contenedor que está sincronizado (seguro para subprocesos). |
| ToArray() |
Copia los elementos de en ArrayList una nueva Object matriz. |
| ToArray(Type) |
Copia los elementos de en ArrayList una nueva matriz del tipo de elemento especificado. |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
| TrimToSize() |
Establece la capacidad en el número real de elementos de ArrayList. |
Métodos de extensión
| Nombre | Description |
|---|---|
| AsParallel(IEnumerable) |
Habilita la paralelización de una consulta. |
| AsQueryable(IEnumerable) |
Convierte un IEnumerable en un IQueryable. |
| Cast<TResult>(IEnumerable) |
Convierte los elementos de un IEnumerable al tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra los elementos de un IEnumerable en función de un tipo especificado. |
Se aplica a
Seguridad para subprocesos
Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancia sean seguros para el acceso concurrente.
Un ArrayList puede admitir varios lectores simultáneamente, siempre que la colección no se modifique. Para garantizar la seguridad del subproceso de ArrayList, todas las operaciones deben realizarse a través del contenedor devuelto por el Synchronized(IList) método .
La enumeración a través de una colección no es intrínsecamente un procedimiento seguro para subprocesos. Incluso cuando se sincroniza una colección, otros subprocesos todavía pueden modificar la colección, lo que hace que el enumerador inicie una excepción. Para garantizar la seguridad de los subprocesos durante la enumeración, puede bloquear la colección durante toda la enumeración o detectar las excepciones resultantes de los cambios realizados por otros subprocesos.