ArrayList Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Implémentation de tableau redimensionnable de l’interface List .
[Android.Runtime.Register("java/util/ArrayList", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class ArrayList : Java.Util.AbstractList, IDisposable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Util.IRandomAccess
[<Android.Runtime.Register("java/util/ArrayList", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type ArrayList = class
inherit AbstractList
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ICloneable
interface IList
interface ICollection
interface IIterable
interface ISequencedCollection
interface IRandomAccess
- Héritage
- Attributs
- Implémente
Remarques
Implémentation de tableau redimensionnable de l’interface List . Implémente toutes les opérations de liste facultatives et autorise tous les éléments, y compris null. Outre l’implémentation de l’interface List , cette classe fournit des méthodes pour manipuler la taille du tableau utilisé en interne pour stocker la liste. (Cette classe est à peu près équivalente à Vector, sauf qu’elle n’est pas synchronisée.)
Les sizeopérations , isEmptygetsetiteratoret listIterator s’exécutent en temps constant. L’opération add s’exécute en temps constant amorti, autrement dit, l’ajout de n éléments nécessite le temps O(n). Toutes les autres opérations s’exécutent en temps linéaire (à peu près). Le facteur constant est faible par rapport à celui de l’implémentation LinkedList .
Chaque ArrayList instance a une capacité. La capacité est la taille du tableau utilisé pour stocker les éléments dans la liste. Il est toujours au moins aussi grand que la taille de liste. À mesure que des éléments sont ajoutés à un TableauList, sa capacité augmente automatiquement. Les détails de la stratégie de croissance ne sont pas spécifiés au-delà du fait que l’ajout d’un élément a un coût de temps amorti constant.
Une application peut augmenter la capacité d’une ArrayList instance avant d’ajouter un grand nombre d’éléments à l’aide de l’opération ensureCapacity . Cela peut réduire la quantité de réaffectation incrémentielle.
<
>notez que cette implémentation n’est pas synchronisée.</strong> Si plusieurs threads accèdent simultanément à une ArrayList instance et qu’au moins un des threads modifie la liste structurellement, il doit être synchronisé en externe. (Une modification structurelle est toute opération qui ajoute ou supprime un ou plusieurs éléments, ou redimensionne explicitement le tableau de stockage ; il suffit de définir la valeur d’un élément n’est pas une modification structurelle.) Cela s’effectue généralement en synchronisant sur un objet qui encapsule naturellement la liste.
Si aucun objet de ce type n’existe, la liste doit être « encapsulée » à l’aide de la Collections#synchronizedList Collections.synchronizedList méthode. Cela est le mieux fait au moment de la création pour empêcher l’accès non synchronisé accidentel à la liste :
List list = Collections.synchronizedList(new ArrayList(...));
Les itérateurs retournés par les méthodes et les méthodes de #iterator() iterator cette classe sont #listIterator(int) listIteratorem<fail-fast>/em< : si la liste est structurellement modifiée à tout moment après la création de l’itérateur, à tout moment, sauf par le biais des propres > ou ListIterator#remove() remove méthodes de l’itérateur, l’itérateur lève un ListIterator#add(Object) add.ConcurrentModificationException Par conséquent, face à la modification simultanée, l’itérateur échoue rapidement et correctement, plutôt que de risquer un comportement arbitraire et non déterministe à un moment indéterminé à l’avenir.
Notez que le comportement de défaillance rapide d’un itérateur ne peut pas être garanti, en général, impossible d’apporter des garanties difficiles en présence d’une modification simultanée non synchronisée. Les itérateurs à vitesse d’échec lèvent ConcurrentModificationException un meilleur effort. Par conséquent, il serait incorrect d’écrire un programme qui dépendait de cette exception pour son exactitude : le comportement d’itérateur à échec doit être utilisé uniquement pour détecter les bogues.
Cette classe est membre de l’infrastructure de collections Java.
Ajouté dans la version 1.2.
Java documentation pour java.util.ArrayList.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
Constructeurs
| Nom | Description |
|---|---|
| ArrayList() |
Construit une liste vide avec une capacité initiale de dix. |
| ArrayList(ICollection) |
Construit une liste contenant les éléments de la collection spécifiée, dans l’ordre dans lequel elles sont retournées par l’itérateur de la collection. |
| ArrayList(Int32) |
Construit une liste vide avec la capacité initiale spécifiée. |
| ArrayList(IntPtr, JniHandleOwnership) |
Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime. |
Propriétés
| Nom | Description |
|---|---|
| Class |
Retourne la classe runtime de ce |
| First |
À ajouter |
| Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
| IsEmpty |
À ajouter (Hérité de AbstractCollection) |
| JniIdentityHashCode |
Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité. (Hérité de Object) |
| JniManagedPeerState |
Implémentation de tableau redimensionnable de l’interface |
| JniPeerMembers |
Implémentation de tableau redimensionnable de l’interface |
| Last |
À ajouter |
| ModCount |
Nombre de fois où cette liste a été modifiée structurellement. (Hérité de AbstractList) |
| PeerReference |
Obtient la référence d’objet JNI pour cet homologue Java. (Hérité de Object) |
| ThresholdClass |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
| ThresholdType |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
Méthodes
| Nom | Description |
|---|---|
| Add(Int32, Object) |
À ajouter (Hérité de AbstractList) |
| Add(Object) |
À ajouter (Hérité de AbstractCollection) |
| AddAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
| AddAll(Int32, ICollection) |
À ajouter (Hérité de AbstractList) |
| AddFirst(Object) |
À ajouter |
| AddLast(Object) |
À ajouter |
| Clear() |
À ajouter (Hérité de AbstractCollection) |
| Clone() |
Retourne une copie superficielle de cette |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Implémentation de tableau redimensionnable de l’interface |
| Contains(Object) |
À ajouter (Hérité de AbstractCollection) |
| ContainsAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
| Dispose() |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| Dispose(Boolean) |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| DisposeUnlessReferenced() |
Implémentation de tableau redimensionnable de l’interface |
| EnsureCapacity(Int32) |
Augmente la capacité de cette |
| Equals(Object) |
Implémentation de tableau redimensionnable de l’interface |
| Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
| ForEach(IConsumer) |
Implémentation de tableau redimensionnable de l’interface |
| Get(Int32) |
Retourne l’élément à la position spécifiée dans cette liste. |
| GetHashCode() |
Retourne une valeur de code de hachage pour l'objet. (Hérité de Object) |
| IndexOf(Object) |
À ajouter (Hérité de AbstractList) |
| Iterator() |
Retourne un itérateur sur les éléments de cette liste dans une séquence appropriée. (Hérité de AbstractList) |
| JavaFinalize() |
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
| LastIndexOf(Object) |
À ajouter (Hérité de AbstractList) |
| ListIterator() |
À ajouter (Hérité de AbstractList) |
| ListIterator(Int32) |
À ajouter (Hérité de AbstractList) |
| Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
| NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
| Remove(Int32) |
À ajouter (Hérité de AbstractList) |
| Remove(Object) |
À ajouter (Hérité de AbstractCollection) |
| RemoveAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
| RemoveFirst() |
À ajouter |
| RemoveIf(IPredicate) |
Implémentation de tableau redimensionnable de l’interface |
| RemoveLast() |
À ajouter |
| RemoveRange(Int32, Int32) |
Supprime de cette liste tous les éléments dont l’index est compris, |
| ReplaceAll(IUnaryOperator) |
Implémentation de tableau redimensionnable de l’interface |
| RetainAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
| Set(Int32, Object) |
À ajouter (Hérité de AbstractList) |
| SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Implémentation de tableau redimensionnable de l’interface |
| Size() |
Retourne le nombre d’éléments de cette liste. |
| Sort(IComparator) |
Implémentation de tableau redimensionnable de l’interface |
| Spliterator() |
Crée une <>liaison em late-binding</em> et <em>fail-fast</em> |
| SubList(Int32, Int32) |
À ajouter (Hérité de AbstractList) |
| ToArray() |
À ajouter (Hérité de AbstractCollection) |
| ToArray(Object[]) |
À ajouter (Hérité de AbstractCollection) |
| ToArray<T>() |
Crée un tableau managé à partir de ce wrapper de tableau Java. (Hérité de Object) |
| ToString() |
Retourne une représentation de chaîne de l'objet. (Hérité de Object) |
| TrimToSize() |
Supprime la capacité de cette |
| UnregisterFromRuntime() |
Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité. (Hérité de Object) |
| Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<> (Hérité de Object) |
| Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IJavaPeerable.Disposed() |
Implémentation de tableau redimensionnable de l’interface |
| IJavaPeerable.Finalized() |
Implémentation de tableau redimensionnable de l’interface |
| IJavaPeerable.JniObjectReferenceControlBlock |
Implémentation de tableau redimensionnable de l’interface |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Implémentation de tableau redimensionnable de l’interface |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Implémentation de tableau redimensionnable de l’interface |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Implémentation de tableau redimensionnable de l’interface |
| IJavaPeerable.UnregisterFromRuntime() |
Implémentation de tableau redimensionnable de l’interface |
Méthodes d’extension
| Nom | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Implémentation de tableau redimensionnable de l’interface |
| ToEnumerable(IIterable) |
Implémentation de tableau redimensionnable de l’interface |
| ToEnumerable<T>(IIterable) |
Implémentation de tableau redimensionnable de l’interface |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |