言語

TreeMap クラス

定義

NavigableMap実装に基づく Red-Black ツリー。

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

注釈

NavigableMap実装に基づく Red-Black ツリー。 マップは、キーの同等の自然な順序に従って、または使用されるコンストラクターに応じて、マップ作成時に提供される Comparator に従って並べ替えられます。

この実装では、 containsKeygetput 、および remove 操作のログ (n) 時間コストが保証されます。 アルゴリズムは、Cormen、Leiserson、Rivest の <em>アルゴリズムへの導入</em>の適応です。

並べ替えられたマップと同様に、ツリー マップによって維持される順序と、明示的な比較子が提供されるかどうかに注意してください<em>この並べ替えられたマップがequalsインターフェイスを正しく実装する場合は<>Map/em を使用します。 (ComparableemComparator等しい</em の正確な定義については、>または<を参照してください>)。これは、Map インターフェイスがequals操作の観点から定義されているが、並べ替えられたマップは、そのcompareTo (またはcompare) メソッドを使用してすべてのキー比較を実行するため、このメソッドで等しいと見なされる 2 つのキーは、並べ替えられたマップの観点から等しいためです。 並べ替えられたマップの動作 <em>is</em> 順序が equalsと一致しない場合でも、適切に定義されています。 Map インターフェイスの一般的なコントラクトに従うことができません。

<strong>この実装が同期されていないことを確認します。</strong> 複数のスレッドが同時にマップにアクセスし、少なくとも 1 つのスレッドがマップを構造的に変更する場合は、外部で同期 <em>must</em> 。 (構造変更とは、1 つ以上のマッピングを追加または削除する操作です。既存のキーに関連付けられている値を変更するだけでは構造変更ではありません)。これは通常、マップを自然にカプセル化するオブジェクトを同期することによって実現されます。 このようなオブジェクトが存在しない場合は、 Collections#synchronizedSortedMap Collections.synchronizedSortedMap メソッドを使用してマップを "ラップ" する必要があります。 これは、マップへの誤った同期されていないアクセスを防ぐために、作成時に行うのが最善です。

SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));

このクラスのすべての "コレクション ビュー メソッド" によって返されるコレクションの iterator メソッドによって返される反復子は、 <em>fail-fast</em>: 反復子の作成後にいつでもマップが構造的に変更される場合、反復子独自の remove メソッドを除き、反復子は ConcurrentModificationExceptionをスローします。 したがって、同時変更が発生した場合、反復子は、将来不確定な時点で任意の非決定論的な動作を危険にさらすのではなく、迅速かつクリーンに失敗します。

反復子のフェイルファスト動作は、一般的に言えば、非同期の同時変更が存在する場合にハード保証することは不可能であるため、保証できないことに注意してください。 フェイルファスト反復子は、ベスト エフォートベースで ConcurrentModificationException をスローします。 したがって、この例外に依存するプログラムを正しく記述するのは間違っています。 <em>反復子のフェイルファースト動作は bugs を検出するためにのみ使用する必要があります。</em>

メソッド #ceilingEntry#firstEntry#floorEntry#higherEntry#lastEntry#lowerEntry#pollFirstEntry、および #pollLastEntry は、呼び出しの時点でのマッピングのスナップショットを表す Map.Entry インスタンスを返します。 これらは <em>not</em> オプションの Map.Entry#setValue setValue メソッドを使用して基になるマップの変更をサポートします。

このクラスの #putFirst putFirst メソッドと #putLast putLast メソッドは、 UnsupportedOperationExceptionをスローします。 マッピングの検出順序は、比較方法によって決定されます。したがって、明示的な配置はサポートされていません。

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

1.2 で追加されました。

Javaドキュメント。

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

コンストラクター

名前 説明
TreeMap()

キーの自然な順序を使用して、新しい空のツリー マップを構築します。

TreeMap(IComparator)

指定された比較子に従って、新しい空のツリー マップを作成します。

TreeMap(IDictionary)

キーの <em>自然順序</em> に従って、指定されたマップと同じマッピングを含む新しいツリー マップを構築します。

TreeMap(IntPtr, JniHandleOwnership)

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

プロパティ

名前 説明
Class

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

(継承元 Object)
Handle

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

(継承元 Object)
IsEmpty

追加する

(継承元 AbstractMap)
JniIdentityHashCode

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

(継承元 Object)
JniManagedPeerState

NavigableMap実装に基づく Red-Black ツリー。

(継承元 JavaObject)
JniPeerMembers

NavigableMap実装に基づく Red-Black ツリー。

PeerReference

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

(継承元 Object)
ThresholdClass

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

ThresholdType

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

メソッド

名前 説明
CeilingEntry(Object)

NavigableMap実装に基づく Red-Black ツリー。

CeilingKey(Object)

1 に追加されました。

Clear()

追加する

(継承元 AbstractMap)
Clone()

この TreeMap インスタンスの浅いコピーを返します。

Comparator()

この並べ替えられたマップ内のキーを比較するために使用される比較子を返します。自然な順序が使用されている場合は null を返します。

Compute(Object, IBiFunction)

NavigableMap実装に基づく Red-Black ツリー。

ComputeIfAbsent(Object, IFunction)

NavigableMap実装に基づく Red-Black ツリー。

ComputeIfPresent(Object, IBiFunction)

NavigableMap実装に基づく Red-Black ツリー。

Construct(JniObjectReference, JniObjectReferenceOptions)

NavigableMap実装に基づく Red-Black ツリー。

(継承元 JavaObject)
ContainsKey(Object)

追加する

(継承元 AbstractMap)
ContainsValue(Object)

追加する

(継承元 AbstractMap)
DescendingKeySet()

1 に追加されました。

DescendingMap()

1 に追加されました。

Dispose()

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

(継承元 Object)
Dispose(Boolean)

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

(継承元 Object)
DisposeUnlessReferenced()

NavigableMap実装に基づく Red-Black ツリー。

(継承元 JavaObject)
EntrySet()

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

Equals(Object)

NavigableMap実装に基づく Red-Black ツリー。

(継承元 JavaObject)
Equals(Object)

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

(継承元 Object)
FirstEntry()

このマップ内の最小キーに関連付けられているキーと値のマッピング、またはマップが空の場合は null を返します。

FirstKey()

この並べ替えられたマップ内の最小キーを返します。

FloorEntry(Object)

NavigableMap実装に基づく Red-Black ツリー。

FloorKey(Object)

1 に追加されました。

ForEach(IBiConsumer)

NavigableMap実装に基づく Red-Black ツリー。

Get(Object)

追加する

(継承元 AbstractMap)
GetHashCode()

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

(継承元 Object)
HeadMap(Object, Boolean)

1 に追加されました。

HeadMap(Object)

NavigableMap実装に基づく Red-Black ツリー。

HigherEntry(Object)

NavigableMap実装に基づく Red-Black ツリー。

HigherKey(Object)

1 に追加されました。

JavaFinalize()
古い.

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

(継承元 Object)
KeySet()

追加する

(継承元 AbstractMap)
LastEntry()

このマップの最大のキーに関連付けられているキーと値のマッピングを返します。マップが空の場合は null します。

LastKey()

この並べ替えられたマップで最も大きなキーを返します。

LowerEntry(Object)

NavigableMap実装に基づく Red-Black ツリー。

LowerKey(Object)

1 に追加されました。

Merge(Object, Object, IBiFunction)

NavigableMap実装に基づく Red-Black ツリー。

NavigableKeySet()

1 に追加されました。

Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
PollFirstEntry()

このマップ内の最小キーに関連付けられているキーと値のマッピングを削除して返します。マップが空の場合は null します。

PollLastEntry()

このマップの最大のキーに関連付けられているキーと値のマッピングを削除して返します。マップが空の場合は null します。

Put(Object, Object)

追加する

(継承元 AbstractMap)
PutAll(IDictionary)

追加する

(継承元 AbstractMap)
PutFirst(Object, Object)

UnsupportedOperationException をスローします。

PutIfAbsent(Object, Object)

NavigableMap実装に基づく Red-Black ツリー。

PutLast(Object, Object)

UnsupportedOperationException をスローします。

Remove(Object)

追加する

(継承元 AbstractMap)
Replace(Object, Object, Object)

NavigableMap実装に基づく Red-Black ツリー。

Replace(Object, Object)

NavigableMap実装に基づく Red-Black ツリー。

ReplaceAll(IBiFunction)

NavigableMap実装に基づく Red-Black ツリー。

SetHandle(IntPtr, JniHandleOwnership)

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

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

NavigableMap実装に基づく Red-Black ツリー。

(継承元 JavaObject)
Size()

追加する

(継承元 AbstractMap)
SubMap(Object, Boolean, Object, Boolean)

1 に追加されました。

SubMap(Object, Object)

NavigableMap実装に基づく Red-Black ツリー。

TailMap(Object, Boolean)

1 に追加されました。

TailMap(Object)

NavigableMap実装に基づく Red-Black ツリー。

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

NavigableMap実装に基づく Red-Black ツリー。

(継承元 JavaObject)
IJavaPeerable.Finalized()

NavigableMap実装に基づく Red-Black ツリー。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

NavigableMap実装に基づく Red-Black ツリー。

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

NavigableMap実装に基づく Red-Black ツリー。

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

NavigableMap実装に基づく Red-Black ツリー。

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

NavigableMap実装に基づく Red-Black ツリー。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

NavigableMap実装に基づく Red-Black ツリー。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

NavigableMap実装に基づく Red-Black ツリー。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用対象