ArrayList, classe (System.Collections)

Changer de vue:
ScriptFree
Bibliothèque de classes .NET Framework
ArrayList, classe
Cet article a fait l'objet d'une traduction manuelle. Pour afficher simultanément cette page et le contenu source en anglais, choisissez le paramètre d'affichage Basse densité.

Implémente l'interface IList à l'aide d'un tableau dont la taille est augmentée de manière dynamique.

Hiérarchie d'héritage

System.Object
  System.Collections.ArrayList
    System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection

Espace de noms :  System.Collections
Assembly :  mscorlib (dans mscorlib.dll)
Syntaxe

Visual Basic
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Class ArrayList _
	Implements IList, ICollection, IEnumerable, ICloneable
C#
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class ArrayList : IList, ICollection, 
	IEnumerable, ICloneable
VisualC++
[SerializableAttribute]
[ComVisibleAttribute(true)]
public ref class ArrayList : IList, 
	ICollection, IEnumerable, ICloneable
F#
[<SerializableAttribute>]
[<ComVisibleAttribute(true)>]
type ArrayList =  
    class
        interface IList
        interface ICollection
        interface IEnumerable
        interface ICloneable
    end

Le type ArrayList expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique Pris en charge par XNA Framework ArrayList() Initialise une nouvelle instance de la classe ArrayList qui est vide et possède la capacité initiale par défaut.
Méthode publique Pris en charge par XNA Framework ArrayList(ICollection) Initialise une nouvelle instance de la classe ArrayList qui contient des éléments copiés à partir de la collection spécifiée et qui possède la capacité initiale correspondant au nombre d'éléments copiés.
Méthode publique Pris en charge par XNA Framework ArrayList(Int32) Initialise une nouvelle instance de la classe ArrayList qui est vide et a la capacité initiale spécifiée.
Début
Propriétés

  Nom Description
Propriété publique Pris en charge par XNA Framework Capacity Obtient ou définit le nombre d'éléments que ArrayList peut contenir.
Propriété publique Pris en charge par XNA Framework Count Obtient le nombre d'éléments réellement contenus dans ArrayList.
Propriété publique Pris en charge par XNA Framework IsFixedSize Obtient une valeur indiquant si ArrayList est de taille fixe.
Propriété publique Pris en charge par XNA Framework IsReadOnly Obtient une valeur indiquant si ArrayList est en lecture seule.
Propriété publique Pris en charge par XNA Framework IsSynchronized Obtient une valeur indiquant si l'accès à ArrayList est synchronisé (thread-safe).
Propriété publique Pris en charge par XNA Framework Item Obtient ou définit l'élément situé à l'index spécifié.
Propriété publique Pris en charge par XNA Framework SyncRoot Obtient un objet qui peut être utilisé pour synchroniser l'accès au ArrayList.
Début
Méthodes

  Nom Description
Méthode publique Membre statique Adapter Crée un wrapper ArrayList pour un IList spécifique.
Méthode publique Pris en charge par XNA Framework Add Ajoute un objet à la fin de ArrayList.
Méthode publique Pris en charge par XNA Framework AddRange Ajoute les éléments de ICollection à la fin de ArrayList.
Méthode publique BinarySearch(Object) Recherche un élément utilisant le comparateur par défaut dans le ArrayList entièrement trié et retourne l'index de base zéro de l'élément.
Méthode publique BinarySearch(Object, IComparer) Recherche un élément utilisant le comparateur spécifié dans le ArrayList entièrement trié et retourne l'index de base zéro de l'élément.
Méthode publique Pris en charge par XNA Framework BinarySearch(Int32, Int32, Object, IComparer) Recherche un élément utilisant le comparateur spécifié dans une plage d'éléments du ArrayList trié et retourne l'index de base zéro de l'élément.
Méthode publique Pris en charge par XNA Framework Clear Supprime tous les éléments de ArrayList.
Méthode publique Pris en charge par XNA Framework Clone Crée une copie superficielle de ArrayList.
Méthode publique Pris en charge par XNA Framework Contains Détermine si un élément est dans ArrayList.
Méthode publique Pris en charge par XNA Framework CopyTo(Array) Copie l'ensemble du ArrayList dans un Array compatible unidimensionnel en commençant au début du tableau cible.
Méthode publique Pris en charge par XNA Framework CopyTo(Array, Int32) Copie l'ensemble du ArrayList vers un Array unidimensionnel compatible, en commençant à l'index spécifié du tableau cible.
Méthode publique Pris en charge par XNA Framework CopyTo(Int32, Array, Int32, Int32) Copie la plage d'éléments de ArrayList dans un Array compatible unidimensionnel en commençant à l'index spécifié du tableau cible.
Méthode publique Pris en charge par XNA Framework Equals(Object) Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Pris en charge par XNA Framework Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique Membre statique FixedSize(ArrayList) Retourne un wrapper ArrayList de taille fixe.
Méthode publique Membre statique FixedSize(IList) Retourne un wrapper IList de taille fixe.
Méthode publique Pris en charge par XNA Framework GetEnumerator() Retourne un énumérateur pour l'intégralité de ArrayList.
Méthode publique GetEnumerator(Int32, Int32) Retourne un énumérateur pour une plage d'éléments de ArrayList.
Méthode publique Pris en charge par XNA Framework GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetRange Retourne ArrayList qui représente un sous-ensemble des éléments dans le ArrayList source.
Méthode publique Pris en charge par XNA Framework GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique Pris en charge par XNA Framework IndexOf(Object) Recherche le Object spécifié et retourne l'index de base zéro de la première occurrence dans l'ensemble du ArrayList.
Méthode publique IndexOf(Object, Int32) Recherche le Object spécifié et retourne l'index de base zéro de la première occurrence dans la plage d'éléments du ArrayList qui s'étend de l'index spécifié au dernier élément.
Méthode publique Pris en charge par XNA Framework IndexOf(Object, Int32, Int32) Recherche le Object spécifié et retourne l'index de base zéro de la première occurrence dans la plage d'éléments du ArrayList qui commence à l'index spécifié et qui contient le nombre d'éléments spécifié.
Méthode publique Pris en charge par XNA Framework Insert Insère un élément dans ArrayList à l'index spécifié.
Méthode publique Pris en charge par XNA Framework InsertRange Insère les éléments d'une collection ArrayList à l'index spécifié.
Méthode publique LastIndexOf(Object) Recherche le Object spécifié et retourne l'index de base zéro de la dernière occurrence de l'ensemble du ArrayList.
Méthode publique LastIndexOf(Object, Int32) Recherche le Object spécifié et retourne l'index de base zéro de la dernière occurrence dans la plage d'éléments du ArrayList qui s'étend du premier élément à l'index spécifié.
Méthode publique LastIndexOf(Object, Int32, Int32) Recherche le Object spécifié et retourne l'index de base zéro de la dernière occurrence dans la plage d'éléments du ArrayList qui contient le nombre spécifié d'éléments et qui se termine à l'index spécifié.
Méthode protégée Pris en charge par XNA Framework MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publique Membre statique ReadOnly(ArrayList) Retourne un wrapper ArrayList en lecture seule.
Méthode publique Membre statique ReadOnly(IList) Retourne un wrapper IList en lecture seule.
Méthode publique Pris en charge par XNA Framework Remove Supprime la première occurrence d'un objet spécifique de ArrayList.
Méthode publique Pris en charge par XNA Framework RemoveAt Supprime l'élément au niveau de l'index spécifié de ArrayList.
Méthode publique Pris en charge par XNA Framework RemoveRange Supprime une plage d'éléments de ArrayList.
Méthode publique Membre statique Repeat Retourne ArrayList dont les éléments sont des copies de la valeur spécifiée.
Méthode publique Pris en charge par XNA Framework Reverse() Inverse l'ordre des éléments dans l'intégralité de ArrayList.
Méthode publique Pris en charge par XNA Framework Reverse(Int32, Int32) Inverse l'ordre des éléments dans la plage spécifiée.
Méthode publique SetRange Copie les éléments d'une collection sur une plage d'éléments dans ArrayList.
Méthode publique Pris en charge par XNA Framework Sort() Trie les éléments dans l'intégralité de ArrayList.
Méthode publique Pris en charge par XNA Framework Sort(IComparer) Trie les éléments dans l'ensemble de ArrayList à l'aide du comparateur spécifié.
Méthode publique Pris en charge par XNA Framework Sort(Int32, Int32, IComparer) Trie les éléments dans une plage d'éléments de ArrayList à l'aide du comparateur spécifié.
Méthode publique Membre statique Pris en charge par XNA Framework Synchronized(ArrayList) Retourne un wrapper ArrayList qui est synchronisé (thread-safe).
Méthode publique Membre statique Synchronized(IList) Retourne un wrapper IList qui est synchronisé (thread-safe).
Méthode publique Pris en charge par XNA Framework ToArray() Copie les éléments de ArrayList vers un nouveau tableau Object.
Méthode publique Pris en charge par XNA Framework ToArray(Type) Copie les éléments de ArrayList vers un nouveau tableau du type d'élément spécifié.
Méthode publique Pris en charge par XNA Framework ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode publique Pris en charge par XNA Framework TrimToSize Définit la capacité au nombre réel d'éléments dans ArrayList.
Début
Méthodes d'extension

  Nom Description
Méthode d'extension publique AsParallel Active la parallélisation d'une requête. (Défini par ParallelEnumerable.)
Méthode d'extension publique AsQueryable Convertit un IEnumerable en IQueryable. (Défini par Queryable.)
Méthode d'extension publique Pris en charge par XNA Framework Cast<TResult> Convertit les éléments d'un IEnumerable vers le type spécifié. (Défini par Enumerable.)
Méthode d'extension publique Pris en charge par XNA Framework OfType<TResult> Filtre les éléments d'un IEnumerable en fonction du type spécifié. (Défini par Enumerable.)
Début
Notes

Le tri du ArrayList n'est pas garanti. Vous devez trier le ArrayList avant d'exécuter des opérations (telles que BinarySearch) qui exigent le tri du ArrayList.

La capacité de ArrayList correspond au nombre d'éléments que peut contenir ArrayList. Lorsque des éléments sont ajoutés à ArrayList, la capacité augmente automatiquement par réallocation. La capacité peut être diminuée en appelant TrimToSize ou en définissant explicitement la propriété Capacity.

Il est possible d'accéder aux éléments de cette collection en utilisant un index d'entiers. Les index de cette collection sont des index de base zéro.

La collection ArrayList accepte null comme valeur valide et autorise les éléments en double.

L'utilisation de tableaux multidimensionnels comme éléments dans une collection ArrayList n'est pas prise en charge.

Exemples

L'exemple de code suivant montre comment créer et initialiser un ArrayList et comment afficher ses valeurs.

Visual Basic

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   !



C#

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   !

*/


VisualC++

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   !

*/


Informations de version

.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1
Plateformes

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Sécurité des threads

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

ArrayList peut prendre en charge plusieurs opérations de lecture simultanées, tant que la collection n'est pas modifiée. Afin de garantir la sécurité des threads de ArrayList, toutes les opérations doivent être effectuées par l'intermédiaire du wrapper retourné par la méthode Synchronized.

L'énumération d'une collection n'est intrinsèquement pas une procédure thread-safe. Même lorsqu'une collection est synchronisée, les autres threads peuvent toujours modifier la collection, ce qui entraîne la levée d'une exception par l'énumérateur. Pour garantir la sécurité des threads lors de l'énumération, vous pouvez verrouiller la collection pour toute la durée de l'énumération ou intercepter les exceptions résultant de modifications apportées par d'autres threads.

Voir aussi

Référence

Autres ressources