言語

SparseArray クラス

定義

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

[Android.Runtime.Register("android/util/SparseArray", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class SparseArray : Java.Lang.Object, IDisposable, Java.Lang.ICloneable
[<Android.Runtime.Register("android/util/SparseArray", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type SparseArray = class
    inherit Object
    interface ICloneable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
継承
SparseArray
派生
属性
実装

注釈

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。 SparseArray は、 <c>HashMap</c> よりもメモリ効率が向上することを目的としています。これは、自動ボックス化キーを回避し、そのデータ構造がマッピングごとに追加のエントリ オブジェクトに依存しないためです。

このコンテナーでは、バイナリ検索を使用してキーを検索し、そのマッピングを配列データ構造に保持することに注意してください。 この実装は、多数の項目を含む可能性があるデータ構造に適したものではありません。 一般に、ルックアップにはバイナリ検索が必要であり、追加と削除には配列内のエントリの挿入と削除が必要になるため、 HashMap よりも遅くなります。 数百の項目を保持するコンテナーの場合、パフォーマンスの違いは 50%未満です。

パフォーマンスを向上させるために、コンテナーにはキーを削除するときの最適化が含まれています。配列をすぐに圧縮する代わりに、削除されたエントリは削除済みとしてマークされた状態になります。 その後、同じキーに対してエントリを再利用するか、削除されたすべてのエントリの 1 つのガベージ コレクションで後で圧縮できます。 このガベージ コレクションは、配列を拡大する必要がある場合、またはマップ のサイズまたはエントリ値が取得されるたびに実行する必要があります。

#keyAt(int)#valueAt(int)を使用して、このコンテナー内の項目を反復処理できます。 インデックスの昇順の値を持つ keyAt(int) を使用してキーを反復処理すると、キーが昇順で返されます。 valueAt(int)の場合、キーに対応する値は昇順で返されます。

Javaドキュメント。

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

コンストラクター

名前 説明
SparseArray()

マッピングを含まない新しい SparseArray を作成します。

SparseArray(Int32)

指定した数のマッピングを格納するために追加のメモリ割り当てを必要としないマッピングを含まない新しい SparseArray を作成します。

SparseArray(IntPtr, JniHandleOwnership)

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

プロパティ

名前 説明
Class

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

(継承元 Object)
Handle

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

(継承元 Object)
JniIdentityHashCode

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

(継承元 Object)
JniManagedPeerState

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

(継承元 JavaObject)
JniPeerMembers

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

PeerReference

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

(継承元 Object)
ThresholdClass

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

ThresholdType

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

メソッド

名前 説明
Append(Int32, Object)

キーと値のペアを配列に格納し、キーが配列内のすべての既存のキーより大きい場合に最適化します。

Clear()

この SparseArray からすべてのキーと値のマッピングを削除します。

Clone()

この Objectのコピーを作成して返します。

Compute(Int32, IIntObjFunction)

現在のマッピング (現在のマッピングがない場合は null) に基づいて、指定したキーの新しいマップされた値の計算を試みます。

Construct(JniObjectReference, JniObjectReferenceOptions)

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

(継承元 JavaObject)
Contains(Int32)

配列にキーが存在する場合は true を返します。

ContentEquals(SparseArray)

この SparseArray の内容を、指定した SparseArrayと比較します。

ContentHashCode()

この SparseArrayの内容のハッシュ コード値を返し、すべてのキーと値の Objects#hashCode(Object) 結果を結合します。

Delete(Int32)

指定したキー (存在する場合) からマッピングを削除します。

Dispose()

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

(継承元 Object)
Dispose(Boolean)

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

(継承元 Object)
DisposeUnlessReferenced()

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

(継承元 JavaObject)
Equals(Object)

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

(継承元 JavaObject)
Equals(Object)

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

(継承元 Object)
Get(Int32, Object)

指定したキーからマップされたオブジェクトを取得します。そのようなマッピングが行われなかった場合は、指定したオブジェクトを取得します。

Get(Int32)

指定したキーからマップされたオブジェクトを取得します。そのようなマッピングが行われなかった場合は null します。

GetHashCode()

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

(継承元 Object)
IndexOfKey(Int32)

#keyAtが指定したキーを返すインデックスを返します。指定したキーがマップされていない場合は負の数を返します。

IndexOfValue(Object)

#valueAtが指定した値を返すインデックスを返します。指定した値に対応するキーがない場合は負の数を返します。

JavaFinalize()
古い.

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

(継承元 Object)
KeyAt(Int32)

0...size()-1範囲内のインデックスを指定すると、この SparseArray が格納するindex番目のキーと値のマッピングからキーが返されます。

Notify()

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

(継承元 Object)
NotifyAll()

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

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

指定したキーから指定した値にマッピングを追加し、指定したキーの前のマッピングが存在する場合は置き換えます。

Remove(Int32)

#delete(int) の別名。

RemoveAt(Int32)

指定したインデックス位置にあるマッピングを削除します。

RemoveAtRange(Int32, Int32)

バッチとしてマッピングの範囲を削除します。

Set(Int32, Object)

Kotlin [index]= 演算子をサポートする #put(int, Object) のエイリアス。

SetHandle(IntPtr, JniHandleOwnership)

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

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

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

(継承元 JavaObject)
SetValueAt(Int32, Object)

0...size()-1範囲内のインデックスを指定すると、この SparseArray が格納するindex番目のキーと値のマッピングに新しい値を設定します。

Size()

この SparseArray が現在格納しているキーと値のマッピングの数を返します。

ToArray<T>()

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

(継承元 Object)
ToString()

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

(継承元 Object)
UnregisterFromRuntime()

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

(継承元 Object)
ValueAt(Int32)

0...size()-1範囲内のインデックスが指定された場合、この SparseArray が格納するindex番目のキーと値のマッピングから値を返します。

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()

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

(継承元 JavaObject)
IJavaPeerable.Finalized()

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

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

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

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

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

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

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

SparseArray は整数を Objects にマップし、オブジェクトの通常の配列とは異なり、そのインデックスにはギャップを含めることができます。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用対象