言語

EnumMap クラス

定義

列挙型キーで使用するための特殊な Map 実装。

[Android.Runtime.Register("java/util/EnumMap", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "K extends java.lang.Enum<K>", "V" })]
public class EnumMap : Java.Util.AbstractMap, IDisposable, Java.IO.ISerializable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/util/EnumMap", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K extends java.lang.Enum<K>", "V" })>]
type EnumMap = class
    inherit AbstractMap
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
    interface IMap
継承
属性
実装

注釈

列挙型キーで使用するための特殊な Map 実装。 列挙型マップ内のすべてのキーは、マップの作成時に明示的または暗黙的に指定される単一の列挙型から取得する必要があります。 列挙型マップは、内部的に配列として表されます。 この表現は非常にコンパクトで効率的です。

列挙型マップは、キーの 自然な順序 (列挙型定数が宣言される順序) で維持されます。 これは、コレクション ビュー (#keySet()#entrySet()、および #values()) によって返される反復子に反映されます。

コレクション ビューによって返される反復子の 一貫性は弱くConcurrentModificationException がスローされることは決してありません。また、イテレーションの進行中に発生するマップに対する変更の影響を示す場合と表示されない場合があります。

Null キーは使用できません。 null キーを挿入しようとすると、 NullPointerExceptionがスローされます。 ただし、null キーが存在するかどうかのテストまたは削除を試みると、正常に機能します。 Null 値を使用できます。

ほとんどのコレクション実装と同様に、 EnumMap は同期されません。 複数のスレッドが同時に列挙型マップにアクセスし、少なくとも 1 つのスレッドがマップを変更する場合は、外部で同期する必要があります。 これは通常、列挙型マップを自然にカプセル化するオブジェクトで同期することによって実現されます。 このようなオブジェクトが存在しない場合は、 Collections#synchronizedMap メソッドを使用してマップを "ラップ" する必要があります。 これは、誤って同期されていないアクセスを防ぐために、作成時に行うのが最善です。

Map&lt;EnumKey, V&gt; m
                    = Collections.synchronizedMap(new EnumMap&lt;EnumKey, V&gt;(...));

実装上の注意: すべての基本的な操作は一定の時間で実行されます。 それらは、 HashMap 対応するものよりも高速である可能性が高い (保証されていません)。

このクラスは、Java Collections Framework のメンバーです

1\.5 で追加されました。

Javaドキュメント。

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

コンストラクター

名前 説明
EnumMap(Class)

指定したキー型を持つ空の列挙型マップを作成します。

EnumMap(EnumMap)

最初は同じマッピング (存在する場合) を含む、指定した列挙型マップと同じキー型を持つ列挙型マップを作成します。

EnumMap(IDictionary)

指定したマップから初期化された列挙型マップを作成します。

EnumMap(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsEmpty

追加する

(継承元 AbstractMap)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

列挙型キーで使用するための特殊な Map 実装。

(継承元 JavaObject)
JniPeerMembers

列挙型キーで使用するための特殊な Map 実装。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

名前 説明
Clear()

追加する

(継承元 AbstractMap)
Clone()

この列挙型マップの浅いコピーを返します。

Construct(JniObjectReference, JniObjectReferenceOptions)

列挙型キーで使用するための特殊な Map 実装。

(継承元 JavaObject)
ContainsKey(Object)

追加する

(継承元 AbstractMap)
ContainsValue(Object)

追加する

(継承元 AbstractMap)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

列挙型キーで使用するための特殊な Map 実装。

(継承元 JavaObject)
EntrySet()

このマップに含まれるマッピングの Set ビューを返します。

Equals(Object)

列挙型キーで使用するための特殊な Map 実装。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
Get(Object)

追加する

(継承元 AbstractMap)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
KeySet()

追加する

(継承元 AbstractMap)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
Put(Object, Object)

追加する

(継承元 AbstractMap)
PutAll(IDictionary)

追加する

(継承元 AbstractMap)
Remove(Object)

追加する

(継承元 AbstractMap)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

列挙型キーで使用するための特殊な Map 実装。

(継承元 JavaObject)
Size()

追加する

(継承元 AbstractMap)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Values()

追加する

(継承元 AbstractMap)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

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

名前 説明
IJavaPeerable.Disposed()

列挙型キーで使用するための特殊な Map 実装。

(継承元 JavaObject)
IJavaPeerable.Finalized()

列挙型キーで使用するための特殊な Map 実装。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

列挙型キーで使用するための特殊な Map 実装。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

列挙型キーで使用するための特殊な Map 実装。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

列挙型キーで使用するための特殊な Map 実装。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

列挙型キーで使用するための特殊な Map 実装。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

列挙型キーで使用するための特殊な Map 実装。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

列挙型キーで使用するための特殊な Map 実装。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用対象