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
使用されるコンストラクターに応じて、マップ作成時に指定された順序に従って並べ替えられます。
この実装では、、およびremove
操作のログ (n) 時間コストが put
containsKey
get
保証されます。 アルゴリズムは、Cormen、Leiserson、および Rivest の <em>Algorithms</em> の中のアルゴリズムの適応です。
並べ替えられたマップと同様に、ツリー マップによって維持される順序と、明示的な比較子が指定されているかどうかに注意してください。この並べ替えられたマップがインターフェイスを正しく実装Map
する場合は、/em> とequals
<一致している必要があります<>。 (equals/em> と一致する em>の<正確な定義を<参照Comparable
してくださいComparator
。)これは、インターフェイスが操作のequals
観点から定義されているが、並べ替えられたマップがその (またはcompare
) メソッドを使用してすべてのキー比較をcompareTo
実行するためMap
、このメソッドで等しいと見なされる 2 つのキーは、並べ替えられたマップの観点から等しいからです。 並べ替えられた 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
します。 したがって、この例外に依存するプログラムを正しく<>記述するのは間違っています。反復子のフェイルファスト動作はバグを検出するためにのみ使用する必要があります。</全角>
Map.Entry
このクラスのメソッドによって返されるすべてのペアとそのビューは、作成時のマッピングのスナップショットを表します。 メソッドは <強力>ではありません</強く> サポートされます Entry.setValue
。 (ただし、.) を使用して put
、関連付けられているマップ内のマッピングを変更できます。
このクラスは、Java Collections Framework の メンバーです。
1.2 で追加されました。
の Java ドキュメントjava.util.TreeMap
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
TreeMap() |
キーの自然な順序を使用して、新しい空のツリー マップを構築します。 |
TreeMap(IComparator) |
指定された比較子に従って、新しい空のツリー マップを作成します。 |
TreeMap(IDictionary) |
特定のマップと同じマッピングを含む新しいツリー マップを、そのキーの em>自然な順序/em> に<従って順序<付けて構築します。 |
TreeMap(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
プロパティ
Class |
この |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
IsEmpty |
追加する (継承元 AbstractMap) |
JniIdentityHashCode |
Red-Black ツリー ベース |
JniPeerMembers |
Red-Black ツリー ベース |
PeerReference |
Red-Black ツリー ベース |
ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
メソッド
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, Boolean) |
1 に追加されました。 |
HeadMap(Object) |
Red-Black ツリー ベース |
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, Object) |
Red-Black ツリー ベース |
Replace(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, Boolean) |
1 に追加されました。 |
TailMap(Object) |
Red-Black ツリー ベース |
ToArray<T>() |
Red-Black ツリー ベース |
ToString() |
オブジェクトの文字列表現を返します。 (継承元 Object) |
UnregisterFromRuntime() |
Red-Black ツリー ベース |
Values() |
追加する (継承元 AbstractMap) |
Wait() |
現在のスレッドが目覚めるまで待機させます。通常<は、通知<>/em> または <em>割り込み/em> を受け<取ります。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64) |
現在のスレッドが目覚めるまで待機します。通常<><は、通知/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 ツリー ベース |