ArrayList ArrayList ArrayList ArrayList Class

Definice

Implementuje IList rozhraní pomocí pole, jejichž velikost se dynamicky mění podle potřeby.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)]
[System.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
Dědičnost
ArrayListArrayListArrayListArrayList
Odvozené
Atributy
Implementuje

Příklady

Následující příklad ukazuje, jak vytvořit a inicializovat ArrayList a způsob zobrazení hodnot.The following 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   !

Poznámky

Důležité

Nedoporučujeme používat ArrayList třídy pro vývoj nových projektů.We don't recommend that you use the ArrayList class for new development. Namísto toho doporučujeme použít Obecné List<T> třídy.Instead, we recommend that you use the generic List<T> class. ArrayList Třída slouží k uložení heterogenní kolekce objektů.The ArrayList class is designed to hold heterogeneous collections of objects. Nicméně vždy nenabízí nejlepší výkon.However, it does not always offer the best performance. Namísto toho doporučujeme následující:Instead, we recommend the following:

  • Pro heterogenní kolekci objektů, použijte List<Object> (v jazyce C#) nebo List(Of Object) zadejte (v jazyce Visual Basic).For a heterogeneous collection of objects, use the List<Object> (in C#) or List(Of Object) (in Visual Basic) type.
  • Homogenní kolekci objektů, použijte List<T> třídy.For a homogeneous collection of objects, use the List<T> class.
    Zobrazit faktory ovlivňující výkon v List<T> referenční téma pro diskuzi o relativní výkon těchto tříd.See Performance Considerations in the List<T> reference topic for a discussion of the relative performance of these classes. Zobrazit neobecné kolekce by se neměly na Githubu pro obecné informace týkající se použití obecných místo negenerická kolekce typů.See Non-generic collections shouldn't be used on GitHub for general information on the use of generic instead of non-generic collection types.

ArrayList Není zaručeno, který se má seřadit.The ArrayList is not guaranteed to be sorted. Je nutné seřadit ArrayList voláním jeho Sort metoda před provedením operace (například BinarySearch), které vyžadují ArrayList který se má seřadit.You must sort the ArrayList by calling its Sort method prior to performing operations (such as BinarySearch) that require the ArrayList to be sorted. Chcete-li udržovat kolekce, která je automaticky řazena při přidání nové prvky, můžete použít SortedSet<T> třídy.To maintain a collection that is automatically sorted as new elements are added, you can use the SortedSet<T> class.

Kapacita ArrayList je počet elementů ArrayList může obsahovat.The capacity of an ArrayList is the number of elements the ArrayList can hold. Jak prvky jsou přidány do ArrayList, je automaticky zvýšit kapacitu podle potřeby prostřednictvím přerozdělení.As elements are added to an ArrayList, the capacity is automatically increased as required through reallocation. Kapacitu můžete snížit voláním TrimToSize nebo nastavením Capacity vlastnost explicitně.The capacity can be decreased by calling TrimToSize or by setting the Capacity property explicitly.

Pouze v rozhraní .NET framework: Pro velmi velké ArrayList objekty, můžete zvýšit maximální kapacitu na 2 miliardy elementy v 64bitovém systému tak, že nastavíte enabled atribut <gcAllowVeryLargeObjects> prvku konfigurace true v běhové prostředí..NET Framework only: 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 <gcAllowVeryLargeObjects> configuration element to true in the run-time environment.

Prvky v této kolekci lze přistupovat pomocí indexu celé číslo.Elements in this collection can be accessed using an integer index. V této kolekci indexy jsou počítány od nuly.Indexes in this collection are zero-based.

ArrayList Kolekce přijímá null jako platná hodnota.The ArrayList collection accepts null as a valid value. Umožňuje také duplicitní prvky.It also allows duplicate elements.

Pomocí vícerozměrná pole jako prvky ArrayList sběr není podporován.Using multidimensional arrays as elements in an ArrayList collection is not supported.

Konstruktory

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

Inicializuje novou instanci třídy ArrayList třídu, která je prázdná a má výchozí počáteční kapacitu.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)

Inicializuje novou instanci třídy ArrayList třídu, která obsahuje elementy, které jsou zkopírovány ze zadané kolekce a, který má stejné počáteční kapacitu jako počet elementů zkopírovaných.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)

Inicializuje novou instanci třídy ArrayList třídu, která je prázdný a nemá zadanou počáteční kapacitu.Initializes a new instance of the ArrayList class that is empty and has the specified initial capacity.

Vlastnosti

Capacity Capacity Capacity Capacity

Získá nebo nastaví počet prvků, které ArrayList může obsahovat.Gets or sets the number of elements that the ArrayList can contain.

Count Count Count Count

Získá počet elementů ve skutečnosti součástí ArrayList.Gets the number of elements actually contained in the ArrayList.

IsFixedSize IsFixedSize IsFixedSize IsFixedSize

Získává hodnotu označující, zda ArrayList má pevnou velikost.Gets a value indicating whether the ArrayList has a fixed size.

IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Získává hodnotu označující, zda ArrayList je jen pro čtení.Gets a value indicating whether the ArrayList is read-only.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

Získá hodnotu, která určuje, zda přístup k ArrayList se synchronizují (bezpečný).Gets a value indicating whether access to the ArrayList is synchronized (thread safe).

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

Získá nebo nastaví prvek na zadaný index.Gets or sets the element at the specified index.

SyncRoot SyncRoot SyncRoot SyncRoot

Získá objekt, který slouží k synchronizaci přístupu k ArrayList.Gets an object that can be used to synchronize access to the ArrayList.

Metody

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

Vytvoří ArrayList obálky pro konkrétní IList.Creates an ArrayList wrapper for a specific IList.

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

Přidá objekt na konec objektu ArrayList.Adds an object to the end of the ArrayList.

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

Přidá prvky ICollection na konec objektu 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)

Vyhledá rozsahu prvků v seřazené ArrayList prvek pomocí zadaná porovnávací funkce a vrátí index elementu založený na nule.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)

Vyhledá celý seřazené ArrayList prvek pomocí výchozí porovnávací metody a vrátí index elementu založený na nule.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)

Vyhledá celý seřazené ArrayList prvek pomocí zadaná porovnávací funkce a vrátí index elementu založený na nule.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()

Odebere všechny prvky z ArrayList.Removes all elements from the ArrayList.

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

Vytvoří Mělkou kopii ArrayList.Creates a shallow copy of the ArrayList.

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

Určuje, zda je prvek v ArrayList.Determines whether an element is in the ArrayList.

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

Zkopíruje celou ArrayList na kompatibilní s jednorozměrné Arrayzačíná na začátku cílového pole.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)

Zkopíruje celou ArrayList na kompatibilní s jednorozměrné Arrayzačíná na zadaný index cílového pole.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)

Zkopíruje celou řadu prvků z ArrayList na kompatibilní s jednorozměrné Arrayzačíná na zadaný index cílového pole.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)

Určuje, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

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

Vrátí ArrayList obálka s pevnou velikostí.Returns an ArrayList wrapper with a fixed size.

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

Vrátí IList obálka s pevnou velikostí.Returns an IList wrapper with a fixed size.

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

Vrátí enumerátor pro celý ArrayList.Returns an enumerator for the entire ArrayList.

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

Vrátí enumerátor pro rozsah prvků ArrayList.Returns an enumerator for a range of elements in the ArrayList.

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

Slouží jako výchozí funkce hash.Serves as the default hash function.

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

Vrátí ArrayList která představuje podmnožinu elementů ve zdrojovém ArrayList.Returns an ArrayList which represents a subset of the elements in the source ArrayList.

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

Získá Type aktuální instance.Gets the Type of the current instance.

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

Vyhledá zadaný Object a vrátí index prvního výskytu v rámci celé založený na nule 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)

Vyhledá zadaný Object a vrátí index prvního výskytu v rozsahu prvků v založený na nule ArrayList , který rozšiřuje z určeného indexu na poslední prvek.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)

Vyhledá zadaný Object a vrátí index prvního výskytu v rozsahu prvků v založený na nule ArrayList , který začíná na zadaném indexu a obsahuje zadaný počet prvků.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)

Vloží prvek do ArrayList v zadaném indexu.Inserts an element into the ArrayList at the specified index.

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

Vloží prvky kolekce do kolekce ArrayList v zadaném indexu.Inserts the elements of a collection into the ArrayList at the specified index.

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

Vyhledá zadaný Object a vrátí index o základu 0 posledního výskytu textu v rámci celé 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)

Vyhledá zadaný Object a vrátí index posledního výskytu textu v rámci rozsahu prvků v založený na nule ArrayList , který rozšiřuje od prvního prvku na zadaném indexu.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)

Vyhledá zadaný Object a vrátí index posledního výskytu textu v rámci rozsahu prvků v založený na nule ArrayList obsahující zadaný počet prvků a končí na zadaném indexu.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()

Vytvoří Mělkou kopii aktuální Object.Creates a shallow copy of the current Object.

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

Vrátí jen pro čtení ArrayList obálky.Returns a read-only ArrayList wrapper.

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

Vrátí jen pro čtení IList obálky.Returns a read-only IList wrapper.

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

Odebere první výskyt určitého objektu z ArrayList.Removes the first occurrence of a specific object from the ArrayList.

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

Odebere element v zadaném indexu ArrayList.Removes the element at the specified index of the ArrayList.

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

Odebere rozsah prvků z ArrayList.Removes a range of elements from the ArrayList.

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

Vrátí ArrayList jehož prvky jsou kopie zadanou hodnotu.Returns an ArrayList whose elements are copies of the specified value.

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

Obrátí pořadí prvků v celé ArrayList.Reverses the order of the elements in the entire ArrayList.

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

Obrátí pořadí prvků v zadaném rozsahu.Reverses the order of the elements in the specified range.

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

Zkopíruje elementy kolekce napříč celou škálou prvky ArrayList.Copies the elements of a collection over a range of elements in the ArrayList.

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

Seřadí prvky v celé ArrayList.Sorts the elements in the entire ArrayList.

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

Seřadí prvky v celé ArrayList pomocí zadaná porovnávací funkce.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)

Seřadí prvky v rozsahu prvků v ArrayList pomocí zadaná porovnávací funkce.Sorts the elements in a range of elements in ArrayList using the specified comparer.

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

Vrátí ArrayList obálku, která se synchronizují (bezpečný).Returns an ArrayList wrapper that is synchronized (thread safe).

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

Vrátí IList obálku, která se synchronizují (bezpečný).Returns an IList wrapper that is synchronized (thread safe).

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

Zkopíruje elementy ArrayList do nového Object pole.Copies the elements of the ArrayList to a new Object array.

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

Zkopíruje elementy ArrayList do nového pole typu zadaného elementu.Copies the elements of the ArrayList to a new array of the specified element type.

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

Vrací řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

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

Nastaví kapacitu na skutečný počet prvků v ArrayList.Sets the capacity to the actual number of elements in the ArrayList.

Extension Methods

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Přetypování prvky IEnumerable do zadaného typu.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable podle zadaného typu.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Povolí paralelizaci dotazu.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Převede IEnumerable do IQueryable.Converts an IEnumerable to an IQueryable.

Platí pro

Bezpečný přístup z více vláken

Veřejné statické (Shared v jazyce Visual Basic) členy tohoto typu jsou bezpečné pro vlákna.Public static (Shared in Visual Basic) members of this type are thread safe. Není zaručeno, že členy instancí jsou bezpečné pro přístup z více vláken.Any instance members are not guaranteed to be thread safe.

ArrayList Může podporovat více čtenářům souběžně, tak dlouho, dokud se nezmění kolekce.An ArrayList can support multiple readers concurrently, as long as the collection is not modified. Zajistit bezpečnost vlákna ArrayList, všechny operace se musí provést prostřednictvím obálky vrácené Synchronized(IList) metody.To guarantee the thread safety of the ArrayList, all operations must be done through the wrapper returned by the Synchronized(IList) method.

Výčet prostřednictvím kolekce nemůže být procedurou bezpečnou pro přístup z více vláken.Enumerating through a collection is intrinsically not a thread-safe procedure. I v případě, že jde o synchronizovanou kolekci, mohou úpravy provádět i ostatní vlákna, což způsobuje vyvolání výjimky enumerátorem.Even when a collection is synchronized, other threads can still modify the collection, which causes the enumerator to throw an exception. K zaručení bezpečnosti přístupu z více vláken můžete buďto zamknout kolekci na celou dobu práce s výčtem, nebo zachycovat výjimky vzniklé v důsledku změn prováděných ostatními vlákny.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.

Viz také