CopyOnWriteArraySet Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Oggetto Set che utilizza un oggetto interno CopyOnWriteArrayList per tutte le operazioni.
[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
- Ereditarietà
- Attributi
- Implementazioni
Commenti
Oggetto Set che utilizza un oggetto interno CopyOnWriteArrayList per tutte le operazioni. Pertanto, condivide le stesse proprietà di base: <ul><li>È più adatto per le applicazioni in cui le dimensioni dei set in genere rimangono piccole e operazioni di sola lettura molto operazioni mutative in numero insufficiente e è necessario evitare interferenze tra i thread durante l'attraversamento. <li>È thread-safe. <Le operazioni mutative li>(add, set, e removecosì via) sono costose perché in genere comportano la copia dell'intera matrice sottostante. <Gli iteratori li>non supportano l'operazione mutativa remove . <l'attraversamento li>tramite iteratori è veloce e non può incontrare interferenze da altri thread. Gli iteratori si basano su snapshot non modificabili della matrice al momento della costruzione degli iteratori. </ul>
<b>Esempio di utilizzo.</b> Lo schizzo di codice seguente usa un set di copia su scrittura per mantenere un set di oggetti gestore che eseguono alcune azioni sugli aggiornamenti dello stato.
{@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();
}
}}
Questa classe è un membro di Java Collections Framework.
Aggiunto nella versione 1.5.
Documentazione java per java.util.concurrent.CopyOnWriteArraySet.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Costruttori
| CopyOnWriteArraySet() |
Crea un set vuoto. |
| CopyOnWriteArraySet(ICollection) |
Crea un set contenente tutti gli elementi della raccolta specificata. |
| CopyOnWriteArraySet(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 |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| IsEmpty |
Da aggiungere (Ereditato da AbstractCollection) |
| JniIdentityHashCode |
Oggetto |
| JniPeerMembers |
Oggetto |
| PeerReference |
Oggetto |
| 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(Object) |
Da aggiungere (Ereditato da AbstractCollection) |
| AddAll(ICollection) |
Da aggiungere (Ereditato da AbstractCollection) |
| Clear() |
Da aggiungere (Ereditato da AbstractCollection) |
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| Contains(Object) |
Da aggiungere (Ereditato da AbstractCollection) |
| ContainsAll(ICollection) |
Da aggiungere (Ereditato da AbstractCollection) |
| Dispose() |
Oggetto |
| Dispose(Boolean) |
Oggetto |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| ForEach(IConsumer) |
Oggetto |
| GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
| Iterator() |
Restituisce un iteratore sugli elementi contenuti in questo set nell'ordine in cui sono stati aggiunti questi elementi. |
| JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| Remove(Object) |
Da aggiungere (Ereditato da AbstractCollection) |
| RemoveAll(ICollection) |
Da aggiungere (Ereditato da AbstractCollection) |
| RemoveIf(IPredicate) |
Oggetto |
| RetainAll(ICollection) |
Da aggiungere (Ereditato da AbstractCollection) |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| Size() |
Restituisce il numero di elementi in questo set. |
| Spliterator() |
Restituisce un |
| ToArray() |
Da aggiungere (Ereditato da AbstractCollection) |
| ToArray(Object[]) |
Da aggiungere (Ereditato da AbstractCollection) |
| ToArray<T>() |
Oggetto |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
| UnregisterFromRuntime() |
Oggetto |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< 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() |
Oggetto |
| IJavaPeerable.DisposeUnlessReferenced() |
Oggetto |
| IJavaPeerable.Finalized() |
Oggetto |
| IJavaPeerable.JniManagedPeerState |
Oggetto |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Oggetto |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Oggetto |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Oggetto |
Metodi di estensione
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Oggetto |
| GetJniTypeName(IJavaPeerable) |
Oggetto |
| ToEnumerable(IIterable) |
Oggetto |
| ToEnumerable<T>(IIterable) |
Oggetto |