Language

ISet インターフェイス

定義

重複する要素を含まないコレクション。

[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
派生
属性
実装

注釈

重複する要素を含まないコレクション。 より正式には、セットには、e1、最大で 1 つの null 要素など、e2要素とe1.equals(e2)のペアが含まれています。 名前からわかるように、このインターフェイスは数学的 セット の抽象化をモデル化します。

Set インターフェイスは、Collection インターフェイスから継承されたもの以外にも、すべてのコンストラクターのコントラクトと、add、equals、およびhashCodeメソッドのコントラクトに追加の規定を配置します。 便宜上、他の継承メソッドの宣言もここに含まれています。 (これらの宣言に付随する仕様は、 Set インターフェイスに合わせて調整されていますが、追加の規定は含まれていません)。

コンストラクターに関する追加の規定は、(上で定義したように) すべてのコンストラクターが重複する要素を含まないセットを作成する必要があるということです。

注: 変更可能なオブジェクトがセット要素として使用される場合は、細心の注意を払う必要があります。 オブジェクトがセット内の要素である間に、 equals 比較に影響する方法でオブジェクトの値が変更された場合、セットの動作は指定されません。 この禁止の特別なケースは、セットがそれ自体を要素として含むのは許可されないことです。

一部のセット実装には、含まれる要素に制限があります。 たとえば、一部の実装では null 要素が禁止され、一部の実装では要素の型に制限があります。 不適格な要素を追加しようとすると、通常は NullPointerException または ClassCastException、チェックされていない例外がスローされます。 不適格な要素の存在を照会しようとすると、例外がスローされるか、単に false が返される可能性があります。一部の実装は以前の動作を示し、一部は後者を示します。 より一般的には、実装のオプションで、不適格な要素がセットに挿入されない可能性がある、不適格な要素に対する操作を試みると、例外がスローされたり、成功したりする可能性があります。 このような例外は、このインターフェイスの仕様では "省略可能" としてマークされます。

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

Set#of(Object...) Set.ofおよびSet#copyOf Set.copyOf静的ファクトリ メソッドは、変更できないセットを作成する便利な方法を提供します。 これらのメソッドによって作成される Set インスタンスには、次の特性があります。

<ul><li><>変更できません</i>。 要素を追加または削除することはできません。 Set でミューテーター メソッドを呼び出すと、常に UnsupportedOperationException がスローされます。 ただし、含まれている要素自体が変更可能な場合は、Set の動作に一貫性がない場合や、その内容が変わる可能性があります。 <li>要素 null 禁止します。 null要素を使用して作成しようとすると、NullPointerExceptionになります。 <li>すべての要素がシリアル化可能な場合はシリアル化可能です。 <li>作成時に重複する要素を拒否します。 静的ファクトリ メソッドに渡された要素が重複すると、 IllegalArgumentException。 <li>セット要素の反復順序は指定されておらず、変更される可能性があります。 <li>値に基づいています。 プログラマは、#equals(Object) と等しいインスタンスを交換可能として扱い、同期に使用しないでください。または、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。 呼び出し元は、返されるインスタンスの ID に関する想定を行う必要はありません。 ファクトリは、新しいインスタンスを自由に作成したり、既存のインスタンスを再利用したりできます。 <li>シリアル化フォーム ページで指定されたとおりに シリアル化されます 。 </ul>

このインターフェイスは、Java コレクション フレームワークのメンバーです。

1.2 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

プロパティ

名前 説明
Handle

基になる Android オブジェクトの JNI 値を取得します。

(継承元 IJavaObject)
IsEmpty

このセットに要素がない場合は true を返します。

JniIdentityHashCode

ラップされたインスタンスの java.lang.System.identityHashCode() の値を返します。

(継承元 IJavaPeerable)
JniManagedPeerState

マネージド ピアの状態。

(継承元 IJavaPeerable)
JniObjectReferenceControlBlock

重複する要素を含まないコレクション。

(継承元 IJavaPeerable)
JniPeerMembers

メンバー アクセスと呼び出しのサポート。

(継承元 IJavaPeerable)
PeerReference

ラップされたJava オブジェクト インスタンスのJniObjectReferenceを返します。

(継承元 IJavaPeerable)

メソッド

名前 説明
Add(Object)

指定した要素がまだ存在しない場合は、このセットに追加します (省略可能な操作)。

AddAll(ICollection)

指定したコレクション内のすべての要素がまだ存在しない場合は、このセットに追加します (省略可能な操作)。

Clear()

このセットからすべての要素を削除します (省略可能な操作)。

Contains(Object)

このセットに指定した要素が含まれている場合は、 true を返します。

ContainsAll(ICollection)

このセットに指定したコレクションのすべての要素が含まれている場合は、 true を返します。

CopyOf(ICollection)

指定されたコレクションの要素を含む変更不可能なセットを返します。

Disposed()

インスタンスが破棄されたときに呼び出されます。

(継承元 IJavaPeerable)
DisposeUnlessReferenced()

このインスタンスへの未処理の参照がない場合は、 Dispose()を呼び出します。それ以外の場合は何も実行しません。

(継承元 IJavaPeerable)
Equals(Object)

指定したオブジェクトを、このセットと等しいかどうかを比較します。

Finalized()

インスタンスが終了したときに呼び出されます。

(継承元 IJavaPeerable)
ForEach(IConsumer)

すべての要素が処理されるか、アクションが例外をスローするまで、 Iterable の各要素に対して指定されたアクションを実行します。

(継承元 IIterable)
GetHashCode()

このセットのハッシュ コード値を返します。

Iterator()

このセット内の要素に対する反復子を返します。

Of()

0 個の要素を含む変更不可能なセットを返します。

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

10 個の要素を含む変更不可能なセットを返します。

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

9 つの要素を含む変更不可能なセットを返します。

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

8 つの要素を含む変更不可能なセットを返します。

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

7 つの要素を含む変更不可能なセットを返します。

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

6 つの要素を含む変更不可能なセットを返します。

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

5 つの要素を含む変更不可能なセットを返します。

Of(Object, Object, Object, Object)

4 つの要素を含む変更不可能なセットを返します。

Of(Object, Object, Object)

3 つの要素を含む変更不可能なセットを返します。

Of(Object, Object)

2 つの要素を含む変更不可能なセットを返します。

Of(Object)

1 つの要素を含む変更不可能なセットを返します。

Of(Object[])

任意の数の要素を含む変更不可能なセットを返します。

Remove(Object)

指定した要素が存在する場合は、このセットから削除します (省略可能な操作)。

RemoveAll(ICollection)

このセットから、指定したコレクションに含まれるすべての要素を削除します (省略可能な操作)。

RemoveIf(IPredicate)

指定された述語を満たすこのコレクションのすべての要素を削除します (省略可能な操作)。

(継承元 ICollection)
RetainAll(ICollection)

指定したコレクションに含まれるこのセット内の要素のみを保持します (省略可能な操作)。

SetJniIdentityHashCode(Int32)

JniIdentityHashCodeによって返される値を設定します。

(継承元 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

重複する要素を含まないコレクション。

(継承元 IJavaPeerable)
SetPeerReference(JniObjectReference)

PeerReferenceによって返される値を設定します。

(継承元 IJavaPeerable)
Size()

このセット内の要素の数 (カーディナリティ) を返します。

Spliterator()

このSpliteratorで説明されている要素に対してIterableを作成します。

(継承元 IIterable)
ToArray()

このセット内のすべての要素を含む配列を返します。

ToArray(IIntFunction)

指定した generator 関数を使用して、返された配列を割り当てる、このコレクション内のすべての要素を含む配列を返します。

(継承元 ICollection)
ToArray(Object[])

このセット内のすべての要素を含む配列を返します。返される配列のランタイム型は、指定された配列のランタイム型です。

UnregisterFromRuntime()

ランタイムが将来の Java.Interop.JniRuntime+JniValueManager.PeekValue 呼び出しから返されないように、このインスタンスの登録を解除します。

(継承元 IJavaPeerable)

明示的なインターフェイスの実装

名前 説明
IIterable.Spliterator()

このセット内の要素に対して Spliterator を作成します。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

重複する要素を含まないコレクション。

ToEnumerable(IIterable)

Java IIterableを反復処理するIEnumerableを返します。これにより、foreachと LINQ をJavaコレクション型で使用できます。 各要素は、Java インスタンスから対応するマネージド型にマーシャリングされます。

ToEnumerable<T>(IIterable)

Java IIterableを反復処理し、各要素をTにマーシャリングするIEnumerable<T>を返します。 これにより、foreachと LINQ をJavaコレクション型で使用できます。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象