Sprache

ISet Schnittstelle

Definition

Eine Auflistung, die keine doppelten Elemente enthält.

[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
Abgeleitet
Attribute
Implementiert

Hinweise

Eine Auflistung, die keine doppelten Elemente enthält. Formellere Sätze enthalten keine Elementepaare e1 , e2 und zwar e1.equals(e2)so, und höchstens ein Null-Element. Wie durch seinen Namen impliziert, modelliert diese Schnittstelle die mathematische Satzstraktion .

Die Set Schnittstelle platziert zusätzliche Bestimmungen, die über diejenigen hinausgehen, die von der Collection Schnittstelle geerbt werden, in den Verträgen aller Konstruktoren und auf den Verträgen der add, equals und hashCode Methoden. Deklarationen für andere geerbte Methoden sind hier ebenfalls zur Vereinfachung enthalten. (Die Spezifikationen, die diese Deklarationen begleiten, wurden auf die Set Schnittstelle zugeschnitten, enthalten jedoch keine zusätzlichen Bestimmungen.)

Die zusätzliche Festlegung auf Konstruktoren ist nicht überraschend, dass alle Konstruktoren einen Satz erstellen müssen, der keine doppelten Elemente enthält (wie oben definiert).

Hinweis: Große Sorgfalt muss ausgeübt werden, wenn änderbare Objekte als festgelegte Elemente verwendet werden. Das Verhalten eines Satzes wird nicht angegeben, wenn der Wert eines Objekts auf eine Weise geändert wird, die sich auf Vergleiche auswirkt equals , während das Objekt ein Element in der Gruppe ist. Ein Sonderfall dieses Verbots besteht darin, dass ein Satz nicht zulässig ist, sich selbst als Element zu enthalten.

Einige Satzimplementierungen haben Einschränkungen für die Elemente, die sie enthalten können. Einige Implementierungen verbieten z. B. NULL-Elemente, und einige haben Einschränkungen für die Typen ihrer Elemente. Wenn Sie versuchen, ein nicht berechtigtes Element hinzuzufügen, wird eine deaktivierte Ausnahme ausgelöst, in der Regel NullPointerException oder ClassCastException. Wenn Sie versuchen, das Vorhandensein eines nicht zulässigen Elements abzufragen, wird möglicherweise eine Ausnahme ausgelöst, oder sie gibt einfach "false" zurück. einige Implementierungen zeigen das frühere Verhalten und einige zeigen letztere. Im Allgemeinen kann der Versuch eines Vorgangs für ein nicht berechtigtes Element, dessen Abschluss nicht dazu führen würde, dass ein nicht zulässiges Element in den Satz eingefügt wird, eine Ausnahme auslösen oder erfolgreich sein, wenn die Implementierung möglich ist. Solche Ausnahmen werden in der Spezifikation für diese Schnittstelle als "optional" gekennzeichnet.

<h2>"unmodifiable">Unmodifiable Sets</h2>

Die Set#of(Object...) Set.of methoden und Set#copyOf Set.copyOf statische Factory bieten eine bequeme Möglichkeit zum Erstellen nicht modifizierbarer Sätze. Die Set von diesen Methoden erstellten Instanzen weisen die folgenden Merkmale auf:

<ul><li>Sie sind <i>unmodififiable</i>. Elemente können nicht hinzugefügt oder entfernt werden. Das Aufrufen einer Mutatormethode für das Set führt immer UnsupportedOperationException dazu, dass sie ausgelöst wird. Wenn die enthaltenen Elemente jedoch selbst änderbar sind, kann dies dazu führen, dass sich der Satz inkonsistent verhält oder der Inhalt sich ändert. <li>Sie verbieten null Elemente. Versuche, sie mit null Elementen zu erstellen, führen zu NullPointerException. <li>Sie sind serialisierbar, wenn alle Elemente serialisierbar sind. <li>Sie lehnen doppelte Elemente zur Erstellungszeit ab. Doppelte Elemente, die an eine statische Factorymethode übergeben werden, führen zu IllegalArgumentException. <li>Die Iterationsreihenfolge von Satzelementen ist nicht angegeben und kann geändert werden. <li>Sie sind wertbasiert. Programmierer sollten Instanzen behandeln, die #equals(Object) gleich austauschbar sind und diese nicht für die Synchronisierung verwenden sollten, oder unvorhersehbares Verhalten auftreten kann. In einer zukünftigen Version kann die Synchronisierung z. B. fehlschlagen. Aufrufer sollten keine Annahmen über die Identität der zurückgegebenen Instanzen treffen. Fabriken können neue Instanzen erstellen oder vorhandene wiederverwenden. <li>Sie werden wie auf der Serialisierten Formularseite serialisiert . </ul>

Diese Schnittstelle ist ein Mitglied des Java Collections Framework.

In 1.2 hinzugefügt.

Java Dokumentation für java.util.Set.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Eigenschaften

Name Beschreibung
Handle

Ruft den JNI-Wert des zugrunde liegenden Android-Objekts ab.

(Geerbt von IJavaObject)
IsEmpty

Gibt true zurück, wenn dieser Satz keine Elemente enthält.

JniIdentityHashCode

Gibt den Wert java.lang.System.identityHashCode() für die umbrochene Instanz zurück.

(Geerbt von IJavaPeerable)
JniManagedPeerState

Status des verwalteten Peers.

(Geerbt von IJavaPeerable)
JniObjectReferenceControlBlock

Eine Auflistung, die keine doppelten Elemente enthält.

(Geerbt von IJavaPeerable)
JniPeerMembers

Mitgliedszugriff und Aufrufunterstützung.

(Geerbt von IJavaPeerable)
PeerReference

Gibt eine JniObjectReference der umbrochenen Java Objektinstanz zurück.

(Geerbt von IJavaPeerable)

Methoden

Name Beschreibung
Add(Object)

Fügt das angegebene Element zu diesem Satz hinzu, wenn es noch nicht vorhanden ist (optionaler Vorgang).

AddAll(ICollection)

Fügt alle Elemente in der angegebenen Auflistung zu diesem Satz hinzu, wenn sie noch nicht vorhanden sind (optionaler Vorgang).

Clear()

Entfernt alle Elemente aus diesem Satz (optionaler Vorgang).

Contains(Object)

Gibt zurück true , wenn dieser Satz das angegebene Element enthält.

ContainsAll(ICollection)

Gibt zurück true , wenn dieser Satz alle Elemente der angegebenen Auflistung enthält.

CopyOf(ICollection)

Gibt einen nicht modifizierbaren Satz zurück, der die Elemente der angegebenen Auflistung enthält.

Disposed()

Wird aufgerufen, wenn die Instanz verworfen wurde.

(Geerbt von IJavaPeerable)
DisposeUnlessReferenced()

Wenn keine offenen Verweise auf diese Instanz vorhanden sind, wird nichts aufgerufen Dispose(). Andernfalls wird nichts ausgeführt.

(Geerbt von IJavaPeerable)
Equals(Object)

Vergleicht das angegebene Objekt mit diesem Satz für Gleichheit.

Finalized()

Wird aufgerufen, wenn die Instanz abgeschlossen wurde.

(Geerbt von IJavaPeerable)
ForEach(IConsumer)

Führt die angegebene Aktion für jedes Element der Iterable Elemente aus, bis alle Elemente verarbeitet wurden, oder die Aktion löst eine Ausnahme aus.

(Geerbt von IIterable)
GetHashCode()

Gibt den Hashcodewert für diesen Satz zurück.

Iterator()

Gibt einen Iterator für die Elemente in diesem Satz zurück.

Of()

Gibt einen nicht modifizierbaren Satz zurück, der Nullelemente enthält.

Of(Object, Object, Object, Object, Object, Object, Object, Object, Object, Object)

Gibt einen nicht modifizierbaren Satz zurück, der zehn Elemente enthält.

Of(Object, Object, Object, Object, Object, Object, Object, Object, Object)

Gibt einen nicht modifizierbaren Satz zurück, der neun Elemente enthält.

Of(Object, Object, Object, Object, Object, Object, Object, Object)

Gibt einen nicht modifizierbaren Satz zurück, der acht Elemente enthält.

Of(Object, Object, Object, Object, Object, Object, Object)

Gibt einen nicht modifizierbaren Satz zurück, der sieben Elemente enthält.

Of(Object, Object, Object, Object, Object, Object)

Gibt einen nicht modifizierbaren Satz zurück, der sechs Elemente enthält.

Of(Object, Object, Object, Object, Object)

Gibt einen nicht modifizierbaren Satz zurück, der fünf Elemente enthält.

Of(Object, Object, Object, Object)

Gibt einen nicht modifizierbaren Satz zurück, der vier Elemente enthält.

Of(Object, Object, Object)

Gibt einen nicht modifizierbaren Satz zurück, der drei Elemente enthält.

Of(Object, Object)

Gibt einen nicht modifizierbaren Satz zurück, der zwei Elemente enthält.

Of(Object)

Gibt einen nicht modifizierbaren Satz zurück, der ein Element enthält.

Of(Object[])

Gibt einen nicht modifizierbaren Satz zurück, der eine beliebige Anzahl von Elementen enthält.

Remove(Object)

Entfernt das angegebene Element aus diesem Satz, wenn es vorhanden ist (optionaler Vorgang).

RemoveAll(ICollection)

Entfernt aus diesem Satz alle Elemente, die in der angegebenen Auflistung enthalten sind (optionaler Vorgang).

RemoveIf(IPredicate)

Entfernt alle Elemente dieser Auflistung, die das angegebene Prädikat erfüllen.

(Geerbt von ICollection)
RetainAll(ICollection)

Behält nur die Elemente in diesem Satz bei, die in der angegebenen Auflistung enthalten sind (optionaler Vorgang).

SetJniIdentityHashCode(Int32)

Legen Sie den von JniIdentityHashCode.

(Geerbt von IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Eine Auflistung, die keine doppelten Elemente enthält.

(Geerbt von IJavaPeerable)
SetPeerReference(JniObjectReference)

Legen Sie den von PeerReference.

(Geerbt von IJavaPeerable)
Size()

Gibt die Anzahl der Elemente in dieser Gruppe zurück (seine Kardinalität).

Spliterator()

Erstellt eine Spliterator über den hier Iterablebeschriebenen Elemente.

(Geerbt von IIterable)
ToArray()

Gibt ein Array zurück, das alle Elemente in dieser Gruppe enthält.

ToArray(IIntFunction)

Gibt ein Array zurück, das alle Elemente in dieser Auflistung enthält, wobei die bereitgestellte generator Funktion verwendet wird, um das zurückgegebene Array zuzuweisen.

(Geerbt von ICollection)
ToArray(Object[])

Gibt ein Array zurück, das alle Elemente in dieser Gruppe enthält; Der Laufzeittyp des zurückgegebenen Arrays ist die des angegebenen Arrays.

UnregisterFromRuntime()

Heben Sie die Registrierung dieser Instanz auf, damit die Laufzeit sie nicht aus zukünftigen Java.Interop.JniRuntime+JniValueManager.PeekValue Aufrufen zurückgibt.

(Geerbt von IJavaPeerable)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IIterable.Spliterator()

Erstellt eine Spliterator Überschreibung der Elemente in diesem Satz.

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Eine Auflistung, die keine doppelten Elemente enthält.

ToEnumerable(IIterable)

Eine Auflistung, die keine doppelten Elemente enthält.

ToEnumerable<T>(IIterable)

Eine Auflistung, die keine doppelten Elemente enthält.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: