ISet Interfaccia
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.
Raccolta che non contiene elementi duplicati.
[Android.Runtime.Register("java/util/Set", "", "Java.Util.ISetInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public interface ISet : IDisposable, Java.Interop.IJavaPeerable, Java.Util.ICollection
[<Android.Runtime.Register("java/util/Set", "", "Java.Util.ISetInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type ISet = interface
interface ICollection
interface IIterable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Derivato
- Attributi
- Implementazioni
Commenti
Raccolta che non contiene elementi duplicati. Più formalmente, i set non contengono alcuna coppia di elementi e1
e e2
in modo che e1.equals(e2)
e al massimo un elemento Null. Come implicito nel nome, questa interfaccia modella l'astrazione del set matematico.
L'interfaccia Set
inserisce clausole aggiuntive, oltre a quelle ereditate dall'interfaccia Collection
, sui contratti di tutti i costruttori e sui contratti dei add
metodi , equals
e hashCode
. Anche le dichiarazioni per altri metodi ereditati sono incluse qui per praticità. Le specifiche che accompagnano queste dichiarazioni sono state personalizzate per l'interfaccia Set
, ma non contengono clausole aggiuntive.
La clausola aggiuntiva sui costruttori è, non sorprendentemente, che tutti i costruttori devono creare un set che non contiene elementi duplicati (come definito in precedenza).
Nota: è necessario prestare molta attenzione se gli oggetti modificabili vengono utilizzati come elementi impostati. Il comportamento di un set non viene specificato se il valore di un oggetto viene modificato in modo che influisca sui equals
confronti mentre l'oggetto è un elemento nel set. Un caso particolare di questo divieto è che non è consentito che un insieme contenga se stesso come elemento.
Alcune implementazioni impostate hanno restrizioni sugli elementi che possono contenere. Ad esempio, alcune implementazioni impediscono gli elementi Null e alcune hanno restrizioni sui tipi dei relativi elementi. Il tentativo di aggiungere un elemento non idoneo genera un'eccezione deselezionata, in genere NullPointerException
o ClassCastException
. Il tentativo di eseguire una query sulla presenza di un elemento non idoneo può generare un'eccezione oppure può semplicemente restituire false; alcune implementazioni mostreranno il comportamento precedente e alcune mostreranno quest'ultima. In genere, il tentativo di un'operazione su un elemento non idoneo il cui completamento non comporta l'inserimento di un elemento non idoneo nel set può generare un'eccezione oppure può avere esito positivo, all'opzione dell'implementazione. Tali eccezioni vengono contrassegnate come "facoltative" nella specifica per questa interfaccia.
<h2>"unmodifiable">Unmodifiable Sets</h2>
I Set#of(Object...) Set.of
metodi factory statici e Set#copyOf Set.copyOf
offrono un modo pratico per creare set non modificabili. Le Set
istanze create da questi metodi presentano le caratteristiche seguenti:
<ul>li Sono imodificabile<>/i>.<>< Gli elementi non possono essere aggiunti o rimossi. La chiamata a qualsiasi metodo mutatore nel set causerà UnsupportedOperationException
sempre la generazione. Tuttavia, se gli elementi contenuti sono modificabili, è possibile che l'oggetto Set si comporti in modo incoerente o che il relativo contenuto venga modificato. <li>Non consentono null
elementi. I tentativi di crearli con null
gli elementi comportano NullPointerException
. <li>Sono serializzabili se tutti gli elementi sono serializzabili. <li>Rifiutano elementi duplicati in fase di creazione. Gli elementi duplicati passati a un metodo factory statico generano IllegalArgumentException
. <li>L'ordine di iterazione degli elementi set non è specificato ed è soggetto a modifiche. <li>Sono basati sul valore. I programmatori devono considerare le istanze che sono #equals(Object) uguali a intercambiabili e non devono usarle per la sincronizzazione o possono verificarsi comportamenti imprevedibili. Ad esempio, in una versione futura, la sincronizzazione potrebbe non riuscire. I chiamanti non devono fare ipotesi sull'identità delle istanze restituite. Le factory sono gratuite per creare nuove istanze o riutilizzare quelle esistenti. <li>Vengono serializzati come specificato nella pagina Modulo serializzato. </ul>
Questa interfaccia è un membro di Java Collections Framework.
Aggiunta nella versione 1.2.
Documentazione java per java.util.Set
.
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.
Proprietà
Handle |
Ottiene il valore JNI dell'oggetto Android sottostante. (Ereditato da IJavaObject) |
IsEmpty |
Restituisce true se questo set non contiene elementi. |
JniIdentityHashCode |
Restituisce il valore di |
JniManagedPeerState |
Stato del peer gestito. (Ereditato da IJavaPeerable) |
JniPeerMembers |
Supporto per l'accesso ai membri e la chiamata. (Ereditato da IJavaPeerable) |
PeerReference |
Restituisce un JniObjectReference oggetto dell'istanza dell'oggetto Java di cui è stato eseguito il wrapping. (Ereditato da IJavaPeerable) |
Metodi
Add(Object) |
Aggiunge l'elemento specificato a questo set se non è già presente (operazione facoltativa). |
AddAll(ICollection) |
Aggiunge tutti gli elementi della raccolta specificata a questo set se non sono già presenti (operazione facoltativa). |
Clear() |
Rimuove tutti gli elementi da questo set (operazione facoltativa). |
Contains(Object) |
Restituisce |
ContainsAll(ICollection) |
Restituisce |
CopyOf(ICollection) |
Restituisce un set non modificabile contenente gli elementi dell'insieme specificato. |
Disposed() |
Chiamato quando l'istanza è stata eliminata. (Ereditato da IJavaPeerable) |
DisposeUnlessReferenced() |
Se non sono presenti riferimenti in sospeso a questa istanza, chiama |
Equals(Object) |
Confronta l'oggetto specificato con questo set per verificarne l'uguaglianza. |
Finalized() |
Chiamato quando l'istanza è stata finalizzata. (Ereditato da IJavaPeerable) |
ForEach(IConsumer) |
Esegue l'azione specificata per ogni elemento di |
GetHashCode() |
Restituisce il valore del codice hash per questo set. |
Iterator() |
Restituisce un iteratore sugli elementi di questo set. |
Of() |
Restituisce un set non modificabile contenente zero elementi. |
Of(Object, Object, Object, Object, Object, Object, Object, Object, Object, Object) |
Restituisce un set non modificabile contenente dieci elementi. |
Of(Object, Object, Object, Object, Object, Object, Object, Object, Object) |
Restituisce un set non modificabile contenente nove elementi. |
Of(Object, Object, Object, Object, Object, Object, Object, Object) |
Restituisce un set non modificabile contenente otto elementi. |
Of(Object, Object, Object, Object, Object, Object, Object) |
Restituisce un set non modificabile contenente sette elementi. |
Of(Object, Object, Object, Object, Object, Object) |
Restituisce un set non modificabile contenente sei elementi. |
Of(Object, Object, Object, Object, Object) |
Restituisce un set non modificabile contenente cinque elementi. |
Of(Object, Object, Object, Object) |
Restituisce un set non modificabile contenente quattro elementi. |
Of(Object, Object, Object) |
Restituisce un set non modificabile contenente tre elementi. |
Of(Object, Object) |
Restituisce un set non modificabile contenente due elementi. |
Of(Object) |
Restituisce un set non modificabile contenente un elemento. |
Of(Object[]) |
Restituisce un set non modificabile contenente un numero arbitrario di elementi. |
Remove(Object) |
Rimuove l'elemento specificato da questo set se presente (operazione facoltativa). |
RemoveAll(ICollection) |
Rimuove da questo set tutti i relativi elementi contenuti nella raccolta specificata (operazione facoltativa). |
RemoveIf(IPredicate) |
Rimuove tutti gli elementi di questa raccolta che soddisfano il predicato specificato. (Ereditato da ICollection) |
RetainAll(ICollection) |
Mantiene solo gli elementi di questo set contenuti nella raccolta specificata (operazione facoltativa). |
SetJniIdentityHashCode(Int32) |
Impostare il valore restituito da |
SetJniManagedPeerState(JniManagedPeerStates) |
Raccolta che non contiene elementi duplicati. (Ereditato da IJavaPeerable) |
SetPeerReference(JniObjectReference) |
Impostare il valore restituito da |
Size() |
Restituisce il numero di elementi in questo set (cardinalità). |
Spliterator() |
Crea un |
ToArray() |
Restituisce una matrice contenente tutti gli elementi di questo set. |
ToArray(IIntFunction) |
Restituisce una matrice contenente tutti gli elementi di questa raccolta, utilizzando la funzione fornita |
ToArray(Object[]) |
Restituisce una matrice contenente tutti gli elementi di questo set; Il tipo di runtime della matrice restituita è quello della matrice specificata. |
UnregisterFromRuntime() |
Annullare la registrazione di questa istanza in modo che il runtime non lo restituisca dalle chiamate future Java.Interop.JniRuntime+JniValueManager.PeekValue . (Ereditato da IJavaPeerable) |
Implementazioni dell'interfaccia esplicita
IIterable.Spliterator() |
Crea un |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
Raccolta che non contiene elementi duplicati. |
GetJniTypeName(IJavaPeerable) |
Raccolta che non contiene elementi duplicati. |
ToEnumerable(IIterable) |
Raccolta che non contiene elementi duplicati. |
ToEnumerable<T>(IIterable) |
Raccolta che non contiene elementi duplicati. |