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.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, removeetc.) 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 l’infrastructure de collections Java.
Ajouté à la version 1.5.
Java documentation pour java.util.concurrent.CopyOnWriteArraySet.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
Constructeurs
| Nom | Description |
|---|---|
| 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
| Nom | Description |
|---|---|
| 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 |
Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité. (Hérité de Object) |
| JniManagedPeerState |
Qui |
| JniPeerMembers |
Qui |
| 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(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) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Qui |
| 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() |
Qui |
| Equals(Object) |
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) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Qui |
| 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>() |
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) |
| 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() |
Qui |
| IJavaPeerable.Finalized() |
Qui |
| IJavaPeerable.JniObjectReferenceControlBlock |
Qui |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Qui |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Qui |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Qui |
| IJavaPeerable.UnregisterFromRuntime() |
Qui |
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) |
Qui |
| ToEnumerable(IIterable) |
Qui |
| ToEnumerable<T>(IIterable) |
Qui |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |