TreeMap クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Red-Black ツリー ベース NavigableMap
の実装。
[Android.Runtime.Register("java/util/TreeMap", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public class TreeMap : Java.Util.AbstractMap, IDisposable, Java.Interop.IJavaPeerable, 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
- 継承
- 属性
- 実装
注釈
Red-Black ツリー ベース NavigableMap
の実装。 マップは、使用されるコンストラクターに応じて、キーの自然な順序に従って並べ替えられます。または Comparator
、マップ作成時に指定された によって並べ替えられます。
この実装では、、get
put
、および remove
の各操作に対して保証された log(n) 時間コストがcontainsKey
提供されます。 アルゴリズムは、Cormen、Leiserson、Rivest の <em>のアルゴリズム</em> の概要の順応です。
並べ替えられたマップと同様にツリー マップによって維持される順序、および明示的な比較子が提供されるかどうかに注意してください。この並べ替えられたマップがインターフェイスを正しく実装Map
する場合は、/em> とequals
<一致している必要があります<>。 (equals/em> と一致する em>の<正確な定義については、 または Comparator
を参照してくださいComparable
)。<これは、インターフェイスが操作のequals
観点から定義されているが、並べ替えられたマップがその (またはcompare
) メソッドを使用してすべてのキー比較をcompareTo
実行するため、このメソッドで等しいと見なされる 2 つのキーは、並べ替えられたマップの観点から等しいためですMap
。 並べ替えられた map <em>の動作は、順序が>< とequals
一致しない場合でも、明確に定義されています。インターフェイスのMap
一般的なコントラクトに従うことができません。
<strong>この実装は同期されないことに注意してください。</strong> 複数のスレッドが同時にマップにアクセスし、少なくとも 1 つのスレッドがマップを構造的に変更する場合は、<>外部で同期する必要があります<>。 (構造変更とは、1 つ以上のマッピングを追加または削除する操作です。既存のキーに関連付けられている値を変更するだけでは構造変更ではありません)。これは通常、マップを自然にカプセル化するオブジェクトを同期することによって実現されます。 このようなオブジェクトが存在しない場合は、 メソッドを使用してマップを Collections#synchronizedSortedMap Collections.synchronizedSortedMap
"ラップ" する必要があります。 これは、マップへの誤った同期されていないアクセスを防ぐために、作成時に行うのが最善です。
SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));
このクラスのすべての "コレクション ビュー メソッド" によって返されるコレクションのメソッドによってiterator
返される反復子は、"fail-fast</em>" です<>。反復子が作成された後、反復子が作成された後にいつでもマップが構造的に変更された場合、反復子は remove
をスローConcurrentModificationException
します。 したがって、同時変更に直面すると、反復子は、将来不確定な時点で任意の非決定論的な動作を危険にさらすのではなく、迅速かつクリーンに失敗します。
反復子のフェイルファースト動作は、非同期の同時変更がある場合にハード保証を行うことは一般的に不可能であるため、保証できないことに注意してください。 フェイルファースト反復子は、ベスト エフォートベースでスロー ConcurrentModificationException
します。 したがって、この例外に依存するプログラムを正しく<>記述するのは間違っています。反復子のフェイルファースト動作はバグを検出するためにのみ使用する必要があります。</Em>
Map.Entry
このクラスのメソッドによって返されるすべてのペアとそのビューは、作成時のマッピングのスナップショットを表します。 彼らはメソッドを<強く>サポートEntry.setValue
していません<>。 (ただし、 を使用して、関連付けられているマップ内のマッピングを変更することは可能であることに注意してください put
)。
このクラスは、 Java Collections Framework のメンバーです。
1.2 に追加されました。
の java.util.TreeMap
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
コンストラクター
TreeMap() |
キーの自然な順序を使用して、空の新しいツリー マップを構築します。 |
TreeMap(IComparator) |
指定された比較子に従って順序付けされた、新しい空のツリー マップを構築します。 |
TreeMap(IDictionary) |
特定のマップと同じマッピングを含む新しいツリー マップを構築します。これは、キーの自然な順序付け/em> に<>従って並<べ替えられます。 |
TreeMap(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
プロパティ
Class |
この |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
IsEmpty |
追加する (継承元 AbstractMap) |
JniIdentityHashCode |
Red-Black ツリー ベース |
JniPeerMembers |
Red-Black ツリー ベース |
PeerReference |
Red-Black ツリー ベース |
ThresholdClass |
この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
ThresholdType |
この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
メソッド
CeilingEntry(Object) |
Red-Black ツリー ベース |
CeilingKey(Object) |
1 に追加されました。 |
Clear() |
追加する (継承元 AbstractMap) |
Clone() |
この |
Comparator() |
この並べ替えられたマップのキーを比較するために使用される比較子を返します。自然順序が使用されている場合は null を返します。 |
ContainsKey(Object) |
追加する (継承元 AbstractMap) |
ContainsValue(Object) |
追加する (継承元 AbstractMap) |
DescendingKeySet() |
1 に追加されました。 |
DescendingMap() |
1 に追加されました。 |
Dispose() |
Red-Black ツリー ベース |
Dispose(Boolean) |
Red-Black ツリー ベース |
EntrySet() |
このマップに |
Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
FirstEntry() |
このマップ内の最小キーに関連付けられているキーと値のマッピングを返します。または |
FirstKey() |
この並べ替えられたマップ内の最小キーを返します。 |
FloorEntry(Object) |
Red-Black ツリー ベース |
FloorKey(Object) |
1 に追加されました。 |
ForEach(IBiConsumer) |
Red-Black ツリー ベース |
Get(Object) |
追加する (継承元 AbstractMap) |
GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
HeadMap(Object) |
Red-Black ツリー ベース |
HeadMap(Object, Boolean) |
1 に追加されました。 |
HigherEntry(Object) |
Red-Black ツリー ベース |
HigherKey(Object) |
1 に追加されました。 |
JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションが判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
KeySet() |
追加する (継承元 AbstractMap) |
LastEntry() |
このマップの最大キーに関連付けられているキーと値のマッピングを返します。マップ |
LastKey() |
この並べ替えられたマップの最大キーを返します。 |
LowerEntry(Object) |
Red-Black ツリー ベース |
LowerKey(Object) |
1 に追加されました。 |
NavigableKeySet() |
1 に追加されました。 |
Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
PollFirstEntry() |
このマップ内の最小キーに関連付けられているキーと値のマッピングを削除して返します。マップ |
PollLastEntry() |
このマップの最大キーに関連付けられているキーと値のマッピングを削除して返します。マップ |
Put(Object, Object) |
追加する (継承元 AbstractMap) |
PutAll(IDictionary) |
追加する (継承元 AbstractMap) |
Remove(Object) |
追加する (継承元 AbstractMap) |
Replace(Object, Object) |
Red-Black ツリー ベース |
Replace(Object, Object, Object) |
Red-Black ツリー ベース |
ReplaceAll(IBiFunction) |
Red-Black ツリー ベース |
SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
Size() |
追加する (継承元 AbstractMap) |
SubMap(Object, Boolean, Object, Boolean) |
1 に追加されました。 |
SubMap(Object, Object) |
Red-Black ツリー ベース |
TailMap(Object) |
Red-Black ツリー ベース |
TailMap(Object, Boolean) |
1 に追加されました。 |
ToArray<T>() |
Red-Black ツリー ベース |
ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
UnregisterFromRuntime() |
Red-Black ツリー ベース |
Values() |
追加する (継承元 AbstractMap) |
Wait() |
現在のスレッドが起動するまで待機します。通常<は、通知</em> または>< em 中断</em によって待機します>。> (継承元 Object) |
Wait(Int64) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
IJavaPeerable.Disposed() |
Red-Black ツリー ベース |
IJavaPeerable.DisposeUnlessReferenced() |
Red-Black ツリー ベース |
IJavaPeerable.Finalized() |
Red-Black ツリー ベース |
IJavaPeerable.JniManagedPeerState |
Red-Black ツリー ベース |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Red-Black ツリー ベース |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Red-Black ツリー ベース |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Red-Black ツリー ベース |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
Red-Black ツリー ベース |
GetJniTypeName(IJavaPeerable) |
Red-Black ツリー ベース |