CopyOnWriteArrayList Klasse

Definition

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

[Android.Runtime.Register("java/util/concurrent/CopyOnWriteArrayList", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class CopyOnWriteArrayList : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Util.IList, Java.Util.IRandomAccess
[<Android.Runtime.Register("java/util/concurrent/CopyOnWriteArrayList", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type CopyOnWriteArrayList = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
    interface IList
    interface ICollection
    interface IIterable
    interface IRandomAccess
Vererbung
CopyOnWriteArrayList
Attribute
Implementiert

Hinweise

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

Dies ist normalerweise zu teuer, ist <>aber möglicherweise effizienter<> als Alternativen, wenn Traversalvorgänge mutationen erheblich übersteigt, und ist nützlich, wenn Sie Traversale nicht synchronisieren können oder möchten, aber Interferenzen gleichzeitiger Threads ausschließen müssen. Die Iteratormethode "Momentaufnahme" verwendet einen Verweis auf den Zustand des Arrays an dem Zeitpunkt, an dem der Iterator erstellt wurde. Dieses Array ändert sich während der Lebensdauer des Iterators nie, sodass eine Interferenz unmöglich ist und der Iterator garantiert nicht ausgelöst ConcurrentModificationExceptionwird. Der Iterator spiegelt keine Ergänzungen, Entfernungen oder Änderungen an der Liste wider, seit der Iterator erstellt wurde. Vorgänge zur Änderung von Elementen auf Iteratoren selbst (remove, set, und add) werden nicht unterstützt. Diese Methoden lösen aus UnsupportedOperationException.

Alle Elemente sind zulässig, einschließlich null.

Speicherkonsistenzeffekte: Wie bei anderen gleichzeitigen Auflistungen auch, werden Aktionen in einem Thread vor dem Platzieren eines Objekts in eine CopyOnWriteArrayList<i>happen-before</i-Aktion> nach dem Zugriff oder Entfernen dieses Elements aus einem CopyOnWriteArrayList anderen Thread durchgeführt.

Diese Klasse ist ein Mitglied des Java Collections Frameworks.

Hinzugefügt in 1.5.

Java-Dokumentation für java.util.concurrent.CopyOnWriteArrayList.

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

CopyOnWriteArrayList()

Erstellt eine leere Liste.

CopyOnWriteArrayList(ICollection)

Erstellt eine Liste mit den Elementen der angegebenen Auflistung in der Reihenfolge, in der sie vom Iterator der Auflistung zurückgegeben werden.

CopyOnWriteArrayList(IntPtr, JniHandleOwnership)

Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Runtime aufgerufen.

CopyOnWriteArrayList(Object[])

Erstellt eine Liste mit einer Kopie des angegebenen Arrays.

Eigenschaften

Class

Gibt die Laufzeitklasse dieses Objectzurück.

(Geerbt von Object)
Handle

Das Handle zum zugrunde liegenden Android-instance.

(Geerbt von Object)
IsEmpty

Gibt zurück true , wenn diese Liste keine Elemente enthält.

JniIdentityHashCode

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

(Geerbt von Object)
JniPeerMembers

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

PeerReference

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

(Geerbt von Object)
ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

Methoden

Add(Int32, Object)

Fügt das angegebene Element an der angegebenen Position in dieser Liste ein.

Add(Object)

Fügt das angegebene Element an das Ende dieser Liste an.

AddAll(ICollection)

Fügt alle Elemente in der angegebenen Auflistung an das Ende dieser Liste in der Reihenfolge an, in der sie vom Iterator der angegebenen Auflistung zurückgegeben werden.

AddAll(Int32, ICollection)

Fügt alle Elemente der angegebenen Auflistung ab der angegebenen Position in diese Liste ein.

AddAllAbsent(ICollection)

Fügt alle Elemente in der angegebenen Auflistung, die noch nicht in dieser Liste enthalten sind, an das Ende dieser Liste in der Reihenfolge an, in der sie vom Iterator der angegebenen Auflistung zurückgegeben werden.

AddIfAbsent(Object)

Fügt das -Element an, falls nicht vorhanden.

Clear()

Entfernt alle Elemente aus dieser Liste.

Clone()

Gibt eine flache Kopie dieser Liste zurück.

Contains(Object)

Gibt zurück true , wenn diese Liste das angegebene Element enthält.

ContainsAll(ICollection)

Gibt zurück true , wenn diese Liste alle Elemente der angegebenen Auflistung enthält.

Dispose()

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

(Geerbt von Object)
Dispose(Boolean)

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

(Geerbt von Object)
Equals(Object)

Gibt an, ob ein anderes Objekt diesem "gleich" ist.

(Geerbt von Object)
ForEach(IConsumer)

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

Get(Int32)

Hinzuzufügen

GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
IndexOf(Object)

Hinzuzufügen

IndexOf(Object, Int32)

Gibt den Index des ersten Vorkommens indexdes angegebenen Elements in dieser Liste zurück und sucht von vorwärts oder gibt -1 zurück, wenn das Element nicht gefunden wird.

Iterator()

Gibt einen Iterator für die Elemente in dieser Liste in ordnungsgemäßer Reihenfolge zurück.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind.

(Geerbt von Object)
LastIndexOf(Object)

Hinzuzufügen

LastIndexOf(Object, Int32)

Gibt den Index des letzten Vorkommens des angegebenen Elements in dieser Liste zurück und sucht rückwärts von indexoder gibt -1 zurück, wenn das Element nicht gefunden wird.

ListIterator()

Hinzuzufügen

ListIterator(Int32)

Hinzuzufügen

Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
Remove(Int32)

Entfernt das Element an der angegebenen Position in dieser Liste.

Remove(Object)

Entfernt das erste Vorkommen des angegebenen Elements aus dieser Liste, sofern es vorhanden ist.

RemoveAll(ICollection)

Entfernt alle Elemente aus dieser Liste, die in der angegebenen Auflistung enthalten sind.

RemoveIf(IPredicate)

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

ReplaceAll(IUnaryOperator)

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

RetainAll(ICollection)

Behält nur die Elemente in dieser Liste bei, die in der angegebenen Auflistung enthalten sind.

Set(Int32, Object)

Ersetzt das Element an der angegebenen Position in dieser Liste durch das angegebene Element.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
Size()

Gibt die Anzahl der Elemente in dieser Liste zurück.

Sort(IComparator)

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

Spliterator()

Gibt ein Spliterator über die Elemente in dieser Liste zurück.

SubList(Int32, Int32)

Gibt eine Ansicht des Teils dieser Liste zwischen fromIndex, inklusive und toIndexexklusiv zurück.

ToArray()

Gibt ein Array zurück, das alle Elemente in dieser Liste in ordnungsgemäßer Reihenfolge (vom ersten bis zum letzten Element) enthält.

ToArray(Object[])

Gibt ein Array zurück, das alle Elemente in dieser Liste in ordnungsgemäßer Reihenfolge (vom ersten bis zum letzten Element) enthält. Der Laufzeittyp des zurückgegebenen Arrays ist der des angegebenen Arrays.

ToArray<T>()

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel durch em benachrichtigen/em> oder <em>interrupted</em>.<><

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IJavaPeerable.Disposed()

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

(Geerbt von Object)
IJavaPeerable.Finalized()

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

(Geerbt von Object)

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine Für Android-Runtime überprüfte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

GetJniTypeName(IJavaPeerable)

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

ToEnumerable(IIterable)

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

ToEnumerable<T>(IIterable)

Eine threadsichere Variante von, bei der java.util.ArrayList alle mutativen Vorgänge (addusw.) implementiert werden, setindem eine neue Kopie des zugrunde liegenden Arrays erstellt wird.

Gilt für: