Partager via


ArrayList Classe

Définition

Implémente l’interface à l’aide d’un tableau dont la IList taille est augmentée dynamiquement en fonction des besoins.

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
Héritage
ArrayList
Dérivé
Attributs
Implémente

Exemples

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

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   !

Remarques

Important

Nous vous déconseillons d’utiliser la classe pour le ArrayList nouveau développement. Au lieu de cela, nous vous recommandons d’utiliser la classe générique List<T> . La ArrayList classe est conçue pour contenir des collections hétérogènes d’objets. Toutefois, il n’offre pas toujours les meilleures performances. Au lieu de cela, nous vous recommandons les éléments suivants :

  • Pour une collection hétérogène d’objets, utilisez le List<Object> type (en C#) ou List(Of Object) (en Visual Basic).
  • Pour une collection homogène d’objets, utilisez la List<T> classe. Consultez considérations relatives aux performances dans la List<T> rubrique de référence pour une discussion sur les performances relatives de ces classes. Consultez les collections non génériques ne doivent pas être utilisées sur GitHub pour obtenir des informations générales sur l’utilisation de types génériques au lieu de types de collection non génériques.

Il n’est pas garanti que la classe ArrayList soit triée. Vous devez trier la ArrayList méthode en appelant sa Sort méthode avant d’effectuer des opérations (par exemple BinarySearch) qui nécessitent le ArrayList tri. Pour conserver une collection qui est automatiquement triée en tant que nouveaux éléments sont ajoutés, vous pouvez utiliser la SortedSet<T> classe.

La capacité d’un ArrayList élément correspond au nombre d’éléments ArrayList pouvant être suspendus. À mesure que les éléments sont ajoutés à un ArrayList, la capacité est automatiquement augmentée en fonction des besoins grâce à la réaffectation. La capacité peut être réduite en appelant TrimToSize ou en définissant explicitement la Capacity propriété.

.NET Framework uniquement : Pour les objets très volumineux ArrayList , vous pouvez augmenter la capacité maximale à 2 milliards d’éléments sur un système 64 bits en définissant l’attribut enabled de l’élément <gcAllowVeryLargeObjects>true de configuration sur l’environnement d’exécution.

Les éléments de cette collection sont accessibles à l’aide d’un index entier. Les index de cette collection sont basés sur zéro.

La ArrayList collection accepte null comme valeur valide. Il autorise également les éléments dupliqués.

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

Constructeurs

Nom Description
ArrayList()

Initialise une nouvelle instance de la ArrayList classe vide et a la capacité initiale par défaut.

ArrayList(ICollection)

Initialise une nouvelle instance de la ArrayList classe qui contient des éléments copiés à partir de la collection spécifiée et qui a la même capacité initiale que le nombre d’éléments copiés.

ArrayList(Int32)

Initialise une nouvelle instance de la ArrayList classe vide et a la capacité initiale spécifiée.

Propriétés

Nom Description
Capacity

Obtient ou définit le nombre d’éléments que le ArrayList conteneur peut contenir.

Count

Obtient le nombre d’éléments réellement contenus dans le ArrayList.

IsFixedSize

Obtient une valeur indiquant si la ArrayList taille est fixe.

IsReadOnly

Obtient une valeur indiquant si l’objet ArrayList est en lecture seule.

IsSynchronized

Obtient une valeur indiquant si l’accès à l’objet ArrayList est synchronisé (thread safe).

Item[Int32]

Obtient ou définit l’élément à l’index spécifié.

SyncRoot

Obtient un objet qui peut être utilisé pour synchroniser l’accès ArrayListau .

Méthodes

Nom Description
Adapter(IList)

Crée un ArrayList wrapper pour un wrapper spécifique IList.

Add(Object)

Ajoute un objet à la fin du ArrayList.

AddRange(ICollection)

Ajoute les éléments d’un ICollection à la fin du ArrayList.

BinarySearch(Int32, Int32, Object, IComparer)

Recherche une plage d’éléments dans le tri d’un ArrayList élément à l’aide du comparateur spécifié et retourne l’index de base zéro de l’élément.

BinarySearch(Object, IComparer)

Recherche l’intégralité triée ArrayList d’un élément à l’aide du comparateur spécifié et retourne l’index de base zéro de l’élément.

BinarySearch(Object)

Recherche l’intégralité triée ArrayList d’un élément à l’aide du comparateur par défaut et retourne l’index de base zéro de l’élément.

Clear()

Supprime tous les éléments du ArrayList.

Clone()

Crée une copie superficielle du ArrayList.

Contains(Object)

Détermine si un élément se trouve dans le ArrayList.

CopyTo(Array, Int32)

Copie l’intégralité ArrayList dans une dimension unidimensionnelle Arraycompatible, en commençant à l’index spécifié du tableau cible.

CopyTo(Array)

Copie l’intégralité ArrayList dans une dimension unidimensionnelle Arraycompatible, en commençant au début du tableau cible.

CopyTo(Int32, Array, Int32, Int32)

Copie une plage d’éléments à partir d’une ArrayList dimension unidimensionnelle Arraycompatible, en commençant à l’index spécifié du tableau cible.

Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
FixedSize(ArrayList)

Retourne un ArrayList wrapper avec une taille fixe.

FixedSize(IList)

Retourne un IList wrapper avec une taille fixe.

GetEnumerator()

Retourne un énumérateur pour l’intégralité ArrayList.

GetEnumerator(Int32, Int32)

Retourne un énumérateur pour une plage d’éléments dans le ArrayList.

GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetRange(Int32, Int32)

Retourne un ArrayList élément qui représente un sous-ensemble des éléments de la source ArrayList.

GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
IndexOf(Object, Int32, Int32)

Recherche l’index spécifié Object et retourne l’index de base zéro de la première occurrence dans la plage d’éléments de l’index ArrayList spécifié et contient le nombre spécifié d’éléments.

IndexOf(Object, Int32)

Recherche l’index spécifié Object et retourne l’index de base zéro de la première occurrence dans la plage d’éléments de l’index ArrayList spécifié jusqu’au dernier élément.

IndexOf(Object)

Recherche l’index spécifié Object et retourne l’index de base zéro de la première occurrence dans l’ensemble ArrayList.

Insert(Int32, Object)

Insère un élément dans l’index ArrayList spécifié.

InsertRange(Int32, ICollection)

Insère les éléments d’une collection dans l’index ArrayList spécifié.

LastIndexOf(Object, Int32, Int32)

Recherche l’index spécifié Object et retourne l’index de base zéro de la dernière occurrence dans la plage d’éléments dans la ArrayList plage d’éléments qui contient le nombre spécifié d’éléments et se termine à l’index spécifié.

LastIndexOf(Object, Int32)

Recherche l’index spécifié Object et retourne l’index de base zéro de la dernière occurrence dans la plage d’éléments de l’élément ArrayList qui s’étend du premier élément à l’index spécifié.

LastIndexOf(Object)

Recherche l’index spécifié Object et retourne l’index de base zéro de la dernière occurrence dans l’ensemble ArrayList.

MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ReadOnly(ArrayList)

Renvoie un wrapper en lecture seule ArrayList .

ReadOnly(IList)

Renvoie un wrapper en lecture seule IList .

Remove(Object)

Supprime la première occurrence d’un objet spécifique de l’objet ArrayList.

RemoveAt(Int32)

Supprime l’élément à l’index spécifié du ArrayList.

RemoveRange(Int32, Int32)

Supprime une plage d’éléments du ArrayList.

Repeat(Object, Int32)

Retourne une ArrayList valeur dont les éléments sont des copies de la valeur spécifiée.

Reverse()

Inverse l’ordre des éléments dans l’ensemble ArrayList.

Reverse(Int32, Int32)

Inverse l’ordre des éléments dans la plage spécifiée.

SetRange(Int32, ICollection)

Copie les éléments d’une collection sur une plage d’éléments dans le ArrayList.

Sort()

Trie les éléments dans l’intégralité ArrayList.

Sort(IComparer)

Trie les éléments dans l’ensemble ArrayList à l’aide du comparateur spécifié.

Sort(Int32, Int32, IComparer)

Trie les éléments dans une plage d’éléments à ArrayList l’aide du comparateur spécifié.

Synchronized(ArrayList)

Retourne un ArrayList wrapper synchronisé (thread safe).

Synchronized(IList)

Retourne un IList wrapper synchronisé (thread safe).

ToArray()

Copie les éléments du ArrayList tableau dans un nouveau Object tableau.

ToArray(Type)

Copie les éléments du ArrayList tableau dans un nouveau tableau du type d’élément spécifié.

ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)
TrimToSize()

Définit la capacité sur le nombre réel d’éléments dans le ArrayList.

Méthodes d’extension

Nom Description
AsParallel(IEnumerable)

Active la parallélisation d’une requête.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.

Cast<TResult>(IEnumerable)

Convertit les éléments d’un IEnumerable en type spécifié.

OfType<TResult>(IEnumerable)

Filtre les éléments d’une IEnumerable en fonction d’un type spécifié.

S’applique à

Cohérence de thread

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'y a aucune garantie que les membres d’instance soient thread-safe.

Un ArrayList peut prendre en charge plusieurs lecteurs simultanément, tant que la collection n’est pas modifiée. Pour garantir la sécurité du thread, ArrayListtoutes les opérations doivent être effectuées via le wrapper retourné par la Synchronized(IList) méthode.

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

Voir aussi