CopyOnWriteArraySet 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.
Qui Set
utilise un élément interne CopyOnWriteArrayList
pour toutes ses opérations.
[Android.Runtime.Register("java/util/concurrent/CopyOnWriteArraySet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class CopyOnWriteArraySet : Java.Util.AbstractSet, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/util/concurrent/CopyOnWriteArraySet", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type CopyOnWriteArraySet = class
inherit AbstractSet
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Héritage
- Attributs
- Implémente
Remarques
Qui Set
utilise un élément interne CopyOnWriteArrayList
pour toutes ses opérations. Ainsi, il partage les mêmes propriétés de base : <ul><li>Il convient mieux aux applications dans lesquelles les tailles de jeu restent généralement de petites opérations en lecture seule largement hors nombre d’opérations mutatives, et vous devez empêcher les interférences entre les threads pendant la traversée. <li>Il est thread-safe. <Les opérations mutatives li>(add
, set
, remove
etc.) sont coûteuses, car elles impliquent généralement de copier l’ensemble du tableau sous-jacent. <les itérateurs li>ne prennent pas en charge l’opération mutative remove
. <li>Traversal via des itérateurs est rapide et ne peut pas rencontrer d’interférences à partir d’autres threads. Les itérateurs s’appuient sur des instantanés immuables du tableau au moment où les itérateurs ont été construits. </ul>
<b>Exemple d’utilisation.</b> L’croquis de code suivant utilise un jeu de copie en écriture pour gérer un ensemble d’objets gestionnaire qui effectuent une action lors des mises à jour d’état.
{@code
class Handler { void handle() { ... } }
class X {
private final CopyOnWriteArraySet<Handler> handlers
= new CopyOnWriteArraySet<>();
public void addHandler(Handler h) { handlers.add(h); }
private long internalState;
private synchronized void changeState() { internalState = ...; }
public void update() {
changeState();
for (Handler handler : handlers)
handler.handle();
}
}}
Cette classe est membre de Java Collections Framework.
Ajouté à la version 1.5.
Documentation Java pour java.util.concurrent.CopyOnWriteArraySet
.
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
CopyOnWriteArraySet() |
Crée un jeu vide. |
CopyOnWriteArraySet(ICollection) |
Crée un jeu contenant tous les éléments de la collection spécifiée. |
CopyOnWriteArraySet(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
Class |
Retourne la classe runtime de ce |
Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
IsEmpty |
À ajouter (Hérité de AbstractCollection) |
JniIdentityHashCode |
Qui |
JniPeerMembers |
Qui |
PeerReference |
Qui |
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
Add(Object) |
À ajouter (Hérité de AbstractCollection) |
AddAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
Clear() |
À ajouter (Hérité de AbstractCollection) |
Clone() |
Crée et retourne une copie de cet objet. (Hérité de Object) |
Contains(Object) |
À ajouter (Hérité de AbstractCollection) |
ContainsAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
Dispose() |
Qui |
Dispose(Boolean) |
Qui |
Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
ForEach(IConsumer) |
Qui |
GetHashCode() |
Retourne une valeur de code de hachage pour l'objet. (Hérité de Object) |
Iterator() |
Retourne un itérateur sur les éléments contenus dans cet ensemble dans l’ordre dans lequel ces éléments ont été ajoutés. |
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) |
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(Object) |
À ajouter (Hérité de AbstractCollection) |
RemoveAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
RemoveIf(IPredicate) |
Qui |
RetainAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
Size() |
Retourne le nombre d’éléments de cet ensemble. |
Spliterator() |
Retourne un |
ToArray() |
À ajouter (Hérité de AbstractCollection) |
ToArray(Object[]) |
À ajouter (Hérité de AbstractCollection) |
ToArray<T>() |
Qui |
ToString() |
Retourne une représentation de chaîne de l'objet. (Hérité de Object) |
UnregisterFromRuntime() |
Qui |
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
IJavaPeerable.Disposed() |
Qui |
IJavaPeerable.DisposeUnlessReferenced() |
Qui |
IJavaPeerable.Finalized() |
Qui |
IJavaPeerable.JniManagedPeerState |
Qui |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Qui |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Qui |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Qui |
Méthodes d’extension
JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
JavaCast<TResult>(IJavaObject) |
Qui |
GetJniTypeName(IJavaPeerable) |
Qui |
ToEnumerable(IIterable) |
Qui |
ToEnumerable<T>(IIterable) |
Qui |