CopyOnWriteArrayList Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Eine threadsichere Variante von, bei der java.util.ArrayList
alle mutativen Vorgänge (add
usw.) implementiert werden, set
indem 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
- Attribute
- Implementiert
Hinweise
Eine threadsichere Variante von, bei der java.util.ArrayList
alle mutativen Vorgänge (add
usw.) implementiert werden, set
indem 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 ConcurrentModificationException
wird. 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 |
Handle |
Das Handle zum zugrunde liegenden Android-instance. (Geerbt von Object) |
IsEmpty |
Gibt zurück |
JniIdentityHashCode |
Eine threadsichere Variante von, bei der |
JniPeerMembers |
Eine threadsichere Variante von, bei der |
PeerReference |
Eine threadsichere Variante von, bei der |
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 |
ContainsAll(ICollection) |
Gibt zurück |
Dispose() |
Eine threadsichere Variante von, bei der |
Dispose(Boolean) |
Eine threadsichere Variante von, bei der |
Equals(Object) |
Gibt an, ob ein anderes Objekt diesem "gleich" ist. (Geerbt von Object) |
ForEach(IConsumer) |
Eine threadsichere Variante von, bei der |
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 |
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 |
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 |
ReplaceAll(IUnaryOperator) |
Eine threadsichere Variante von, bei der |
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 |
Spliterator() |
Gibt ein |
SubList(Int32, Int32) |
Gibt eine Ansicht des Teils dieser Liste zwischen |
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 |
ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
UnregisterFromRuntime() |
Eine threadsichere Variante von, bei der |
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 |
IJavaPeerable.DisposeUnlessReferenced() |
Eine threadsichere Variante von, bei der |
IJavaPeerable.Finalized() |
Eine threadsichere Variante von, bei der |
IJavaPeerable.JniManagedPeerState |
Eine threadsichere Variante von, bei der |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Eine threadsichere Variante von, bei der |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Eine threadsichere Variante von, bei der |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Eine threadsichere Variante von, bei der |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine Für Android-Runtime überprüfte Typkonvertierung aus. |
JavaCast<TResult>(IJavaObject) |
Eine threadsichere Variante von, bei der |
GetJniTypeName(IJavaPeerable) |
Eine threadsichere Variante von, bei der |
ToEnumerable(IIterable) |
Eine threadsichere Variante von, bei der |
ToEnumerable<T>(IIterable) |
Eine threadsichere Variante von, bei der |