Condividi tramite


ArrayList Classe

Definizione

Implementazione di matrice ridimensionabile dell'interfaccia List .

[Android.Runtime.Register("java/util/ArrayList", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class ArrayList : Java.Util.AbstractList, IDisposable, Java.Interop.IJavaPeerable, 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 IRandomAccess
Ereditarietà
Attributi
Implementazioni

Commenti

Implementazione di matrice ridimensionabile dell'interfaccia List . Implementa tutte le operazioni di elenco facoltative e consente tutti gli elementi, inclusi null. Oltre a implementare l'interfaccia List , questa classe fornisce metodi per modificare le dimensioni della matrice usata internamente per archiviare l'elenco. Questa classe è approssimativamente equivalente a Vector, ad eccezione del fatto che non è asincronizzata.

Le sizeoperazioni , getiteratorisEmptysete vengono listIterator eseguite in tempo costante. L'operazione add viene eseguita in tempo costante ammortizzato, ovvero l'aggiunta di n elementi richiede tempo O(n). Tutte le altre operazioni vengono eseguite in tempo lineare (approssimativamente). Il fattore costante è basso rispetto a quello per l'implementazione LinkedList .

Ogni ArrayList istanza ha una capacità. La capacità è la dimensione della matrice usata per archiviare gli elementi nell'elenco. È sempre grande quanto la dimensione dell'elenco. Man mano che gli elementi vengono aggiunti a arrayList, la capacità aumenta automaticamente. I dettagli dei criteri di crescita non vengono specificati oltre al fatto che l'aggiunta di un elemento ha costi di tempo ammortizzati costanti.

Un'applicazione può aumentare la capacità di un'istanza ArrayList prima di aggiungere un numero elevato di elementi usando l'operazione ensureCapacity . Ciò può ridurre la quantità di reallocation incrementale.

<Nota forte>che questa implementazione non è sincronizzata.</strong> Se più thread accedono simultaneamente a un'istanza ArrayList e almeno uno dei thread modifica l'elenco in modo strutturale, deve essere sincronizzato esternamente. Una modifica strutturale è un'operazione che aggiunge o elimina uno o più elementi oppure ridimensiona in modo esplicito la matrice di backing; semplicemente impostando il valore di un elemento non è una modifica strutturale. Questa operazione viene in genere eseguita sincronizzando su un oggetto che incapsula naturalmente l'elenco.

Se non esiste alcun oggetto di questo tipo, l'elenco deve essere "wrapped" usando il Collections#synchronizedList Collections.synchronizedList metodo . Questa operazione viene eseguita al momento della creazione, per evitare l'accesso accidentale non sincronizzato all'elenco:

List list = Collections.synchronizedList(new ArrayList(...));

<p id="fail-fast"> Gli iteratori restituiti da questa classe #iterator() iterator e #listIterator(int) listIterator i metodi sono <em>fail-fast</em>: se l'elenco viene modificato in modo strutturale in qualsiasi momento dopo la creazione dell'iteratore, in qualsiasi modo tranne tramite i metodi o ListIterator#add(Object) add proprietari dell'iteratoreListIterator#remove() remove, l'iteratore genererà un ConcurrentModificationExceptionoggetto . Pertanto, a fronte di modifiche simultanee, l'iteratore ha esito negativo rapidamente e pulito, anziché rischiare un comportamento arbitrario e non deterministico in un momento indeterminato in futuro.

Si noti che il comportamento non riuscito di un iteratore non può essere garantito perché è, in genere, impossibile rendere eventuali garanzie difficili in presenza di modifiche simultanee non sincronizzate. Gli iteratori veloci non riescono generano ConcurrentModificationException un'attività ottimale. Pertanto, sarebbe sbagliato scrivere un programma che dipende da questa eccezione per la sua correttezza: il comportamento non rapido degli iteratori deve essere usato solo per rilevare i bug.

Questa classe è un membro di Java Collections Framework.

Aggiunto nella versione 1.2.

Documentazione Java per java.util.ArrayList.

Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .

Costruttori

ArrayList()

Costruisce un elenco vuoto con una capacità iniziale di dieci.

ArrayList(ICollection)

Costruisce un elenco contenente gli elementi della raccolta specificata, nell'ordine restituito dall'iteratore dell'insieme.

ArrayList(Int32)

Costruisce un elenco vuoto con la capacità iniziale specificata.

ArrayList(IntPtr, JniHandleOwnership)

Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle all'istanza di Android sottostante.

(Ereditato da Object)
IsEmpty

Da aggiungere

(Ereditato da AbstractCollection)
JniIdentityHashCode

Implementazione di matrice ridimensionabile dell'interfaccia List .

(Ereditato da Object)
JniPeerMembers

Implementazione di matrice ridimensionabile dell'interfaccia List .

ModCount

Numero di volte in cui questo elenco è stato modificato in modo strutturale.

(Ereditato da AbstractList)
PeerReference

Implementazione di matrice ridimensionabile dell'interfaccia List .

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

Metodi

Add(Int32, Object)

Da aggiungere

(Ereditato da AbstractList)
Add(Object)

Da aggiungere

(Ereditato da AbstractCollection)
AddAll(ICollection)

Da aggiungere

(Ereditato da AbstractCollection)
AddAll(Int32, ICollection)

Da aggiungere

(Ereditato da AbstractList)
Clear()

Da aggiungere

(Ereditato da AbstractCollection)
Clone()

Restituisce una copia superficiale di questa ArrayList istanza.

Contains(Object)

Da aggiungere

(Ereditato da AbstractCollection)
ContainsAll(ICollection)

Da aggiungere

(Ereditato da AbstractCollection)
Dispose()

Implementazione di matrice ridimensionabile dell'interfaccia List .

(Ereditato da Object)
Dispose(Boolean)

Implementazione di matrice ridimensionabile dell'interfaccia List .

(Ereditato da Object)
EnsureCapacity(Int32)

Aumenta la capacità di questa ArrayList istanza, se necessario, per garantire che possa contenere almeno il numero di elementi specificati dall'argomento di capacità minimo.

Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
ForEach(IConsumer)

Implementazione di matrice ridimensionabile dell'interfaccia List .

Get(Int32)

Restituisce l'elemento nella posizione specificata in questo elenco.

GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
IndexOf(Object)

Da aggiungere

(Ereditato da AbstractList)
Iterator()

Restituisce un iteratore sugli elementi di questo elenco nella sequenza corretta.

(Ereditato da AbstractList)
JavaFinalize()

Chiamato dal Garbage Collector in un oggetto quando Garbage Collection determina che non sono presenti più riferimenti all'oggetto.

(Ereditato da Object)
LastIndexOf(Object)

Da aggiungere

(Ereditato da AbstractList)
ListIterator()

Da aggiungere

(Ereditato da AbstractList)
ListIterator(Int32)

Da aggiungere

(Ereditato da AbstractList)
Notify()

Riattiva un singolo thread in attesa del monitoraggio dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitoraggio dell'oggetto.

(Ereditato da Object)
Remove(Int32)

Da aggiungere

(Ereditato da AbstractList)
Remove(Object)

Da aggiungere

(Ereditato da AbstractCollection)
RemoveAll(ICollection)

Da aggiungere

(Ereditato da AbstractCollection)
RemoveIf(IPredicate)

Implementazione di matrice ridimensionabile dell'interfaccia List .

RemoveRange(Int32, Int32)

Rimuove da questo elenco tutti gli elementi il cui indice è compreso tra fromIndex, inclusivo e toIndex, esclusivo.

(Ereditato da AbstractList)
ReplaceAll(IUnaryOperator)

Implementazione di matrice ridimensionabile dell'interfaccia List .

RetainAll(ICollection)

Da aggiungere

(Ereditato da AbstractCollection)
Set(Int32, Object)

Da aggiungere

(Ereditato da AbstractList)
SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
Size()

Restituisce il numero di elementi in questo elenco.

Sort(IComparator)

Implementazione di matrice ridimensionabile dell'interfaccia List .

Spliterator()

Crea un <em>late-binding/em> e <em>fail-fast<</em>Spliterator sugli elementi di questo elenco.

SubList(Int32, Int32)

Da aggiungere

(Ereditato da AbstractList)
ToArray()

Da aggiungere

(Ereditato da AbstractCollection)
ToArray(Object[])

Da aggiungere

(Ereditato da AbstractCollection)
ToArray<T>()

Implementazione di matrice ridimensionabile dell'interfaccia List .

(Ereditato da Object)
ToString()

Restituisce una rappresentazione in formato stringa dell'oggetto.

(Ereditato da Object)
TrimToSize()

Taglia la capacità di questa ArrayList istanza in modo che sia la dimensione corrente dell'elenco.

UnregisterFromRuntime()

Implementazione di matrice ridimensionabile dell'interfaccia List .

(Ereditato da Object)
Wait()

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere eseguendo>una notifica</em o <em interrotto</>em>>.<

(Ereditato da Object)
Wait(Int64)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Implementazione di matrice ridimensionabile dell'interfaccia List .

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Implementazione di matrice ridimensionabile dell'interfaccia List .

(Ereditato da Object)
IJavaPeerable.Finalized()

Implementazione di matrice ridimensionabile dell'interfaccia List .

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Implementazione di matrice ridimensionabile dell'interfaccia List .

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Implementazione di matrice ridimensionabile dell'interfaccia List .

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Implementazione di matrice ridimensionabile dell'interfaccia List .

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Implementazione di matrice ridimensionabile dell'interfaccia List .

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione dei tipi controllati dal runtime Android.

JavaCast<TResult>(IJavaObject)

Implementazione di matrice ridimensionabile dell'interfaccia List .

GetJniTypeName(IJavaPeerable)

Implementazione di matrice ridimensionabile dell'interfaccia List .

ToEnumerable(IIterable)

Implementazione di matrice ridimensionabile dell'interfaccia List .

ToEnumerable<T>(IIterable)

Implementazione di matrice ridimensionabile dell'interfaccia List .

Si applica a