ArrayList ArrayList ArrayList ArrayList Class

Definição

Implementa a interface IList usando uma matriz cujo tamanho é aumentado dinamicamente conforme necessário. Implements the IList interface using an array whose size is dynamically increased as required.

public ref class ArrayList : ICloneable, System::Collections::IList
[System.Runtime.InteropServices.ComVisible(true)]
[Serializable]
public class ArrayList : ICloneable, System.Collections.IList
type ArrayList = class
    interface IList
    interface ICloneable
    interface ICollection
    interface IEnumerable
Public Class ArrayList
Implements ICloneable, IList
Herança
ArrayListArrayListArrayListArrayList
Derivado
Atributos
ComVisibleAttribute SerializableAttribute
Implementações

Exemplos

O exemplo de código a seguir mostra como criar e inicializar um ArrayList e como exibir seus valores.The following code example shows how to create and initialize an ArrayList and how to display its values.

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
Imports System.Collections
Imports Microsoft.VisualBasic

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 'PrintValues

End Class


' This code produces output similar to the following:
' 
' myAL
'     Count:    3
'     Capacity: 4
'     Values:   Hello   World   !

Comentários

O ArrayList classe é projetada para manter coleções heterogêneas de objetos.The ArrayList class is designed to hold heterogeneous collections of objects. No entanto, ele sempre oferece o melhor desempenho.However, it does not always offer the best performance. Em vez disso, recomendamos o seguinte:Instead, we recommend the following:

  • Para uma coleção heterogênea de objetos, use o List<Object> (em c#) ou List(Of Object) (no Visual Basic) de tipo.For a heterogeneous collection of objects, use the List<Object> (in C#) or List(Of Object) (in Visual Basic) type.

  • Para uma coleção homogênea de objetos, use o List<T> classe.For a homogeneous collection of objects, use the List<T> class.

Consulte a seção "Considerações de desempenho" o List<T> tópico de referência para uma discussão sobre o desempenho relativo de uma dessas classes.See the "Performance Considerations" section in the List<T> reference topic for a discussion of the relative performance of these classes.

O ArrayList não é garantida a serem classificados.The ArrayList is not guaranteed to be sorted. Você deve classificar as ArrayList chamando seus Sort método antes de executar operações (como BinarySearch) que exigem o ArrayList a serem classificados.You must sort the ArrayList by calling its Sort method prior to performing operations (such as BinarySearch) that require the ArrayList to be sorted. Para manter uma coleção que é classificada automaticamente conforme novos elementos são adicionados, você pode usar o SortedSet<T> classe.To maintain a collection that is automatically sorted as new elements are added, you can use the SortedSet<T> class.

A capacidade de um ArrayList é o número de elementos a ArrayList pode conter.The capacity of an ArrayList is the number of elements the ArrayList can hold. Como os elementos são adicionados a um ArrayList, a capacidade é aumentada automaticamente conforme necessário por meio de realocação.As elements are added to an ArrayList, the capacity is automatically increased as required through reallocation. A capacidade pode ser diminuída chamando TrimToSize ou definindo o Capacity propriedade explicitamente.The capacity can be decreased by calling TrimToSize or by setting the Capacity property explicitly.

Para grandes ArrayList objetos, você pode aumentar a capacidade máxima para 2 bilhões de elementos em um sistema de 64 bits, definindo o enabled atributo do elemento de configuração para true no ambiente de tempo de execução.For very large ArrayList objects, you can increase the maximum capacity to 2 billion elements on a 64-bit system by setting the enabled attribute of the configuration element to true in the run-time environment.

Elementos nesta coleção podem ser acessados usando um índice de inteiro.Elements in this collection can be accessed using an integer index. Nesta coleção, os índices são baseados em zero.Indexes in this collection are zero-based.

O ArrayList coleção aceita null como um valor válido.The ArrayList collection accepts null as a valid value. Ele também permite que elementos duplicados.It also allows duplicate elements.

Usando matrizes multidimensionais como elementos em um ArrayList não há suporte para a coleção.Using multidimensional arrays as elements in an ArrayList collection is not supported.

Construtores

ArrayList() ArrayList() ArrayList() ArrayList()

Inicializa uma nova instância da classe ArrayList que está vazia e tem a capacidade inicial padrão. Initializes a new instance of the ArrayList class that is empty and has the default initial capacity.

ArrayList(ICollection) ArrayList(ICollection) ArrayList(ICollection) ArrayList(ICollection)

Inicializa uma nova instância da classe ArrayList, que contém os elementos copiados da coleção especificada e tem a mesma capacidade inicial que o número de elementos copiados. Initializes a new instance of the ArrayList class that contains elements copied from the specified collection and that has the same initial capacity as the number of elements copied.

ArrayList(Int32) ArrayList(Int32) ArrayList(Int32) ArrayList(Int32)

Inicializa uma nova instância da classe ArrayList que está vazia e tem a capacidade inicial especificada. Initializes a new instance of the ArrayList class that is empty and has the specified initial capacity.

Propriedades

Capacity Capacity Capacity Capacity

Obtém ou define o número de elementos que o ArrayList pode conter. Gets or sets the number of elements that the ArrayList can contain.

Count Count Count Count

Obtém o número de elementos realmente contidos no ArrayList. Gets the number of elements actually contained in the ArrayList.

IsFixedSize IsFixedSize IsFixedSize IsFixedSize

Obtém um valor que indica se o ArrayList tem um tamanho fixo. Gets a value indicating whether the ArrayList has a fixed size.

IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Obtém um valor que indica se o ArrayList é somente leitura. Gets a value indicating whether the ArrayList is read-only.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

Obtém um valor que indica se o acesso à ArrayList é sincronizado (thread-safe). Gets a value indicating whether access to the ArrayList is synchronized (thread safe).

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Obtém ou define o elemento no índice especificado. Gets or sets the element at the specified index.

SyncRoot SyncRoot SyncRoot SyncRoot

Obtém um objeto que pode ser usado para sincronizar o acesso ao ArrayList. Gets an object that can be used to synchronize access to the ArrayList.

Métodos

Adapter(IList) Adapter(IList) Adapter(IList) Adapter(IList)

Cria um wrapper ArrayList para um determinado IList. Creates an ArrayList wrapper for a specific IList.

Add(Object) Add(Object) Add(Object) Add(Object)

Adiciona um objeto ao final do ArrayList. Adds an object to the end of the ArrayList.

AddRange(ICollection) AddRange(ICollection) AddRange(ICollection) AddRange(ICollection)

Adiciona os elementos de um ICollection ao final do ArrayList. Adds the elements of an ICollection to the end of the ArrayList.

BinarySearch(Int32, Int32, Object, IComparer) BinarySearch(Int32, Int32, Object, IComparer) BinarySearch(Int32, Int32, Object, IComparer) BinarySearch(Int32, Int32, Object, IComparer)

Pesquisa um intervalo de elementos no ArrayList classificado para encontrar um elemento que usa o comparador especificado e retorna o índice baseado em zero do elemento. Searches a range of elements in the sorted ArrayList for an element using the specified comparer and returns the zero-based index of the element.

BinarySearch(Object) BinarySearch(Object) BinarySearch(Object) BinarySearch(Object)

Pesquisa todo o ArrayList classificado para um elemento usando o comparador padrão e retorna o índice baseado em zero do elemento. Searches the entire sorted ArrayList for an element using the default comparer and returns the zero-based index of the element.

BinarySearch(Object, IComparer) BinarySearch(Object, IComparer) BinarySearch(Object, IComparer) BinarySearch(Object, IComparer)

Pesquisa um elemento em todo o ArrayList classificado usando o comparador especificado e retorna o índice baseado em zero do elemento. Searches the entire sorted ArrayList for an element using the specified comparer and returns the zero-based index of the element.

Clear() Clear() Clear() Clear()

Remove todos os elementos do ArrayList. Removes all elements from the ArrayList.

Clone() Clone() Clone() Clone()

Cria uma cópia superficial do ArrayList. Creates a shallow copy of the ArrayList.

Contains(Object) Contains(Object) Contains(Object) Contains(Object)

Determina se um elemento está no ArrayList. Determines whether an element is in the ArrayList.

CopyTo(Array) CopyTo(Array) CopyTo(Array) CopyTo(Array)

Copia todo o ArrayList para um Array unidimensional compatível, a partir do início da matriz de destino. Copies the entire ArrayList to a compatible one-dimensional Array, starting at the beginning of the target array.

CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

Copia todo o ArrayList em um Array unidimensional compatível, começando no índice especificado da matriz de destino. Copies the entire ArrayList to a compatible one-dimensional Array, starting at the specified index of the target array.

CopyTo(Int32, Array, Int32, Int32) CopyTo(Int32, Array, Int32, Int32) CopyTo(Int32, Array, Int32, Int32) CopyTo(Int32, Array, Int32, Int32)

Copia um intervalo de elementos do ArrayList para um Array unidimensional compatível, começando pelo índice especificado da matriz de destino. Copies a range of elements from the ArrayList to a compatible one-dimensional Array, starting at the specified index of the target array.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se o objeto especificado é igual ao objeto atual. Determines whether the specified object is equal to the current object.

(Inherited from Object)
FixedSize(ArrayList) FixedSize(ArrayList) FixedSize(ArrayList) FixedSize(ArrayList)

Retorna um wrapper ArrayList com um tamanho fixo. Returns an ArrayList wrapper with a fixed size.

FixedSize(IList) FixedSize(IList) FixedSize(IList) FixedSize(IList)

Retorna um wrapper IList com um tamanho fixo. Returns an IList wrapper with a fixed size.

GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Retorna um enumerador para todo o ArrayList. Returns an enumerator for the entire ArrayList.

GetEnumerator(Int32, Int32) GetEnumerator(Int32, Int32) GetEnumerator(Int32, Int32) GetEnumerator(Int32, Int32)

Retorna um enumerador para um intervalo de elementos no ArrayList. Returns an enumerator for a range of elements in the ArrayList.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Serve como a função de hash padrão. Serves as the default hash function.

(Inherited from Object)
GetRange(Int32, Int32) GetRange(Int32, Int32) GetRange(Int32, Int32) GetRange(Int32, Int32)

Retorna um ArrayList que representa um subconjunto dos elementos na origem ArrayList. Returns an ArrayList which represents a subset of the elements in the source ArrayList.

GetType() GetType() GetType() GetType()

Obtém o Type da instância atual. Gets the Type of the current instance.

(Inherited from Object)
IndexOf(Object) IndexOf(Object) IndexOf(Object) IndexOf(Object)

Pesquisa o Object especificado e retorna o índice de base zero da primeira ocorrência dentro de todo o ArrayList. Searches for the specified Object and returns the zero-based index of the first occurrence within the entire ArrayList.

IndexOf(Object, Int32) IndexOf(Object, Int32) IndexOf(Object, Int32) IndexOf(Object, Int32)

Pesquisa o Object especificado e retorna o índice baseado em zero da primeira ocorrência dentro do intervalo de elementos no ArrayList que se estende do índice especificado ao último elemento. Searches for the specified Object and returns the zero-based index of the first occurrence within the range of elements in the ArrayList that extends from the specified index to the last element.

IndexOf(Object, Int32, Int32) IndexOf(Object, Int32, Int32) IndexOf(Object, Int32, Int32) IndexOf(Object, Int32, Int32)

Pesquisa o Object especificado e retorna o índice baseado em zero da primeira ocorrência dentro de um intervalo de elementos no ArrayList que começa no índice especificado e contém o número de elementos especificado. Searches for the specified Object and returns the zero-based index of the first occurrence within the range of elements in the ArrayList that starts at the specified index and contains the specified number of elements.

Insert(Int32, Object) Insert(Int32, Object) Insert(Int32, Object) Insert(Int32, Object)

Insere um elemento no ArrayList, no índice especificado. Inserts an element into the ArrayList at the specified index.

InsertRange(Int32, ICollection) InsertRange(Int32, ICollection) InsertRange(Int32, ICollection) InsertRange(Int32, ICollection)

Insere os elementos de uma coleção no ArrayList no índice especificado. Inserts the elements of a collection into the ArrayList at the specified index.

LastIndexOf(Object) LastIndexOf(Object) LastIndexOf(Object) LastIndexOf(Object)

Pesquisa o Object especificado e retorna o índice de base zero da última ocorrência dentro de todo o ArrayList. Searches for the specified Object and returns the zero-based index of the last occurrence within the entire ArrayList.

LastIndexOf(Object, Int32) LastIndexOf(Object, Int32) LastIndexOf(Object, Int32) LastIndexOf(Object, Int32)

Pesquisa o Object especificado e retorna o índice baseado em zero da última ocorrência dentro do intervalo de elementos no ArrayList que se estende do primeiro elemento ao índice especificado. Searches for the specified Object and returns the zero-based index of the last occurrence within the range of elements in the ArrayList that extends from the first element to the specified index.

LastIndexOf(Object, Int32, Int32) LastIndexOf(Object, Int32, Int32) LastIndexOf(Object, Int32, Int32) LastIndexOf(Object, Int32, Int32)

Pesquisa o Object especificado e retorna o índice baseado em zero da última ocorrência no intervalo de elementos na ArrayList que contém o número de elementos especificado e termina no índice especificado. Searches for the specified Object and returns the zero-based index of the last occurrence within the range of elements in the ArrayList that contains the specified number of elements and ends at the specified index.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Cria uma cópia superficial do Object atual. Creates a shallow copy of the current Object.

(Inherited from Object)
ReadOnly(ArrayList) ReadOnly(ArrayList) ReadOnly(ArrayList) ReadOnly(ArrayList)

Retorna um wrapper ArrayList de somente leitura. Returns a read-only ArrayList wrapper.

ReadOnly(IList) ReadOnly(IList) ReadOnly(IList) ReadOnly(IList)

Retorna um wrapper IList de somente leitura. Returns a read-only IList wrapper.

Remove(Object) Remove(Object) Remove(Object) Remove(Object)

Remove a primeira ocorrência de um objeto específico do ArrayList. Removes the first occurrence of a specific object from the ArrayList.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

Remove o elemento no índice especificado do ArrayList. Removes the element at the specified index of the ArrayList.

RemoveRange(Int32, Int32) RemoveRange(Int32, Int32) RemoveRange(Int32, Int32) RemoveRange(Int32, Int32)

Remove um intervalo de elementos do ArrayList. Removes a range of elements from the ArrayList.

Repeat(Object, Int32) Repeat(Object, Int32) Repeat(Object, Int32) Repeat(Object, Int32)

Retorna um ArrayList cujos elementos são cópias do valor especificado. Returns an ArrayList whose elements are copies of the specified value.

Reverse() Reverse() Reverse() Reverse()

Inverte a ordem dos elementos em todo o ArrayList. Reverses the order of the elements in the entire ArrayList.

Reverse(Int32, Int32) Reverse(Int32, Int32) Reverse(Int32, Int32) Reverse(Int32, Int32)

Inverte a ordem dos elementos no intervalo especificado. Reverses the order of the elements in the specified range.

SetRange(Int32, ICollection) SetRange(Int32, ICollection) SetRange(Int32, ICollection) SetRange(Int32, ICollection)

Copia os elementos de uma coleção em um intervalo de elementos no ArrayList. Copies the elements of a collection over a range of elements in the ArrayList.

Sort() Sort() Sort() Sort()

Classifica os elementos em todo o ArrayList. Sorts the elements in the entire ArrayList.

Sort(IComparer) Sort(IComparer) Sort(IComparer) Sort(IComparer)

Classifica os elementos em todo o ArrayList usando o comparador especificado. Sorts the elements in the entire ArrayList using the specified comparer.

Sort(Int32, Int32, IComparer) Sort(Int32, Int32, IComparer) Sort(Int32, Int32, IComparer) Sort(Int32, Int32, IComparer)

Classifica os elementos em um intervalo de elementos em ArrayList usando o comparador especificado. Sorts the elements in a range of elements in ArrayList using the specified comparer.

Synchronized(ArrayList) Synchronized(ArrayList) Synchronized(ArrayList) Synchronized(ArrayList)

Retorna um wrapper ArrayList sincronizado (thread-safe). Returns an ArrayList wrapper that is synchronized (thread safe).

Synchronized(IList) Synchronized(IList) Synchronized(IList) Synchronized(IList)

Retorna um wrapper IList sincronizado (thread-safe). Returns an IList wrapper that is synchronized (thread safe).

ToArray() ToArray() ToArray() ToArray()

Copia os elementos do ArrayList em uma nova matriz Object. Copies the elements of the ArrayList to a new Object array.

ToArray(Type) ToArray(Type) ToArray(Type) ToArray(Type)

Copia os elementos do ArrayList em uma nova matriz do tipo de elemento especificado. Copies the elements of the ArrayList to a new array of the specified element type.

ToString() ToString() ToString() ToString()

Retorna uma cadeia de caracteres que representa o objeto atual. Returns a string that represents the current object.

(Inherited from Object)
TrimToSize() TrimToSize() TrimToSize() TrimToSize()

Define a capacidade para o número real de elementos em ArrayList. Sets the capacity to the actual number of elements in the ArrayList.

Aplica-se a

Acesso thread-safe

Os membros estáticos públicos (Shared no Visual Basic) desse são thread-safe. Public static (Shared in Visual Basic) members of this type are thread safe. Não há garantia de que qualquer membro de instância seja thread-safe. Any instance members are not guaranteed to be thread safe. Um ArrayList pode dar suporte a vários leitores simultaneamente, desde que a coleção não será modificada. An ArrayList can support multiple readers concurrently, as long as the collection is not modified. Para garantir a segurança do thread do ArrayList, todas as operações devem ser feitas por meio de wrapper retornado pelo Synchronized(IList) método. To guarantee the thread safety of the ArrayList, all operations must be done through the wrapper returned by the Synchronized(IList) method. A enumeração por meio de uma coleção não é um procedimento thread-safe intrínseco. Enumerating through a collection is intrinsically not a thread-safe procedure. Mesmo quando uma coleção está sincronizada, outros threads ainda podem modificar a coleção, o que faz o enumerador lançar uma exceção. Even when a collection is synchronized, other threads can still modify the collection, which causes the enumerator to throw an exception. Para garantir thread-safe durante a enumeração, é possível bloquear a coleção durante toda a enumeração ou verificar as exceções resultantes das alterações feitas por outros threads. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.

Veja também