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 interfaz IList utilizando una matriz cuyo tamaño aumenta dinámicamente cuando es 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 namespace System;
using namespace System::Collections;
void PrintValues( IEnumerable^ myList );
int main()
{
// Creates and initializes a new ArrayList.
ArrayList^ myAL = gcnew 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 );
}
void PrintValues( IEnumerable^ myList )
{
IEnumerator^ myEnum = myList->GetEnumerator();
while ( myEnum->MoveNext() )
{
Object^ obj = safe_cast<Object^>(myEnum->Current);
Console::Write( " {0}", obj );
}
Console::WriteLine();
}
/*
This code produces output similar to the following:
myAL
Count: 3
Capacity: 4
Values: Hello World !
*/
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 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.
ArrayList No se garantiza que se ordene. Debe ordenar ArrayList mediante una llamada a su Sort método antes de realizar operaciones (como BinarySearch) que requieren ArrayList que 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 un ArrayList es 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: En el caso de 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 tener acceso 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
ArrayList() |
Inicializa una nueva instancia de la clase ArrayList que está vacía y tiene la capacidad inicial predeterminada. |
ArrayList(ICollection) |
Inicializa una nueva instancia de la clase ArrayList 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 clase ArrayList que está vacía y tiene la capacidad inicial especificada. |
Propiedades
Capacity |
Obtiene o establece el número de elementos que puede contener ArrayList. |
Count |
Obtiene el número de elementos contenido realmente en ArrayList. |
IsFixedSize |
Obtiene un valor que indica si la interfaz ArrayList tiene un tamaño fijo. |
IsReadOnly |
Obtiene un valor que indica si ArrayList es de solo lectura. |
IsSynchronized |
Obtiene un valor que indica si el acceso a la interfaz ArrayList está sincronizado (es 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
Adapter(IList) |
Crea un contenedor de ArrayList para una interfaz IList concreta. |
Add(Object) |
Agrega un objeto al final de ArrayList. |
AddRange(ICollection) |
Agrega los elementos de ICollection al final de ArrayList. |
BinarySearch(Int32, Int32, Object, IComparer) |
Busca un elemento en un intervalo de elementos del objeto ArrayList ordenado usando el comparador especificado y devuelve el índice de base cero del elemento. |
BinarySearch(Object) |
Busca la ArrayList completa ordenada para un elemento usando el comparador predeterminado y devuelve el índice de base cero del elemento. |
BinarySearch(Object, IComparer) |
Busca la ArrayList completa ordenada para un elemento usando el comparador especificado y devuelve el índice de base cero del elemento. |
Clear() |
Quita todos los elementos de ArrayList. |
Clone() |
Crea una copia superficial de la colección ArrayList. |
Contains(Object) |
Determina si un elemento se encuentra en ArrayList. |
CopyTo(Array) |
Copia la ArrayList completa en una Array unidimensional compatible, empezando en el principio de la matriz de destino. |
CopyTo(Array, Int32) |
Copia la totalidad de ArrayList en una matriz Array unidimensional compatible, comenzando en el índice especificado de la matriz de destino. |
CopyTo(Int32, Array, Int32, Int32) |
Copia un intervalo de elementos de ArrayList en una Array unidimensional compatible, empezando en el índice especificado de la matriz de destino. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
FixedSize(ArrayList) |
Devuelve un contenedor de ArrayList con un tamaño fijo. |
FixedSize(IList) |
Devuelve un contenedor de IList con un tamaño fijo. |
GetEnumerator() |
Devuelve un enumerador para la ArrayList completa. |
GetEnumerator(Int32, Int32) |
Devuelve un enumerador para un intervalo de elementos de la matriz ArrayList. |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetRange(Int32, Int32) |
Devuelve una ArrayList que representa un subconjunto de los elementos de la ArrayList de origen. |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
IndexOf(Object) |
Busca el objeto Object especificado y devuelve el índice de base cero de la primera aparición en toda la colección ArrayList. |
IndexOf(Object, Int32) |
Busca el objeto Object especificado y devuelve el índice de base cero de la primera aparición dentro del intervalo de elementos de la matriz ArrayList que abarca desde el índice especificado hasta el último elemento. |
IndexOf(Object, Int32, Int32) |
Busca el objeto Object especificado y devuelve el índice de base cero de la primera aparición dentro del intervalo de elementos de la matriz ArrayList que comienza en el índice especificado y contiene el número especificado de elementos. |
Insert(Int32, Object) |
Inserta un elemento en ArrayList en el índice especificado. |
InsertRange(Int32, ICollection) |
Inserta los elementos de una colección en ArrayList en el índice especificado. |
LastIndexOf(Object) |
Busca el Object especificado y devuelve el índice de base cero de la última aparición en la ArrayList completa. |
LastIndexOf(Object, Int32) |
Busca el objeto Object especificado y devuelve el índice de base cero de la última aparición dentro del intervalo de elementos de la matriz ArrayList que abarca desde el primer elemento hasta el último índice especificado. |
LastIndexOf(Object, Int32, Int32) |
Busca el objeto Object especificado y devuelve el índice de base cero de la última aparición dentro del intervalo de elementos de la matriz ArrayList que contiene el número de elementos especificado y termina en el índice especificado. |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ReadOnly(ArrayList) |
Devuelve un contenedor de ArrayList de solo lectura. |
ReadOnly(IList) |
Devuelve un contenedor de IList de solo lectura. |
Remove(Object) |
Quita la primera aparición de un objeto específico de la interfaz ArrayList. |
RemoveAt(Int32) |
Quita el elemento situado en el índice especificado de ArrayList. |
RemoveRange(Int32, Int32) |
Quita todos los elementos de ArrayList. |
Repeat(Object, Int32) |
Devuelve una ArrayList cuyos elementos son copias del valor especificado. |
Reverse() |
Invierte el orden de los elementos en la ArrayList completa. |
Reverse(Int32, Int32) |
Invierte el orden de los elementos en el intervalo especificado. |
SetRange(Int32, ICollection) |
Copia los elementos de una colección en un intervalo de elementos de ArrayList. |
Sort() |
Ordena todos los elementos de ArrayList. |
Sort(IComparer) |
Ordena los elementos en la ArrayList completa usando el comparador especificado. |
Sort(Int32, Int32, IComparer) |
Ordena los elementos en un intervalo de elementos de la matriz ArrayList usando el comparador especificado. |
Synchronized(ArrayList) |
Devuelve un contenedor de la clase ArrayList que está sincronizado (es seguro para subprocesos). |
Synchronized(IList) |
Devuelve un contenedor de la clase IList que está sincronizado (es seguro para subprocesos). |
ToArray() |
Copia los elementos de ArrayList en una nueva matriz de Object. |
ToArray(Type) |
Copia los elementos de la matriz ArrayList a 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 que hay en ArrayList. |
Métodos de extensión
Cast<TResult>(IEnumerable) |
Convierte los elementos de IEnumerable en el tipo especificado. |
OfType<TResult>(IEnumerable) |
Filtra los elementos de IEnumerable en función de un tipo especificado. |
AsParallel(IEnumerable) |
Habilita la paralelización de una consulta. |
AsQueryable(IEnumerable) |
Convierte una interfaz IEnumerable en IQueryable. |
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 subprocesos.
Un ArrayList puede admitir varios lectores simultáneamente, siempre y cuando la colección no se modifique. Para garantizar la seguridad de subprocesos de ArrayList, todas las operaciones deben realizarse a través del contenedor devuelto por el Synchronized(IList) método .
Enumerar una colección no es intrínsecamente un procedimiento seguro para subprocesos. Incluso cuando una colección está sincronizada, otros subprocesos todavía pueden modificarla, lo que hace que el enumerador produzca una excepción. Con el fin de garantizar la seguridad para la ejecución de subprocesos durante la enumeración, se puede bloquear la colección durante toda la enumeración o detectar las excepciones resultantes de los cambios realizados por otros subprocesos.