Share via


TreeMap 類別

定義

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 根據使用的建構函式而定,對應會根據在地圖建立時間提供的 排序。

此實作提供 、 和 作業的保證記錄 (n) 時間成本 containsKeyputgetremove 演算法是 Cormen、Leiserson 和 Rivest <> 簡介中演算法 < /em > 的調整。

請注意,樹狀結構對應所維護的順序,例如任何已排序的對應,以及是否提供明確的比較子,如果這個排序的對應正確實作介面,就必須 < 與 ><equals /em > 一致。 Map (請參閱 ComparableComparator 針對與 equals < /em.) 一致之 em >> 的精確定義 < ,這是因為 Map 介面是以作業方式 equals 定義,但是已排序的對應會使用其 compareTo (或 compare) 方法來執行所有索引鍵比較,因此此方法視為相等的兩個索引鍵,從排序的對應的觀點來看, 平等。 排序的對應 < em 的行為是 < /em > 妥善定義,即使其順序不 equals 一致,它仍無法遵守介面的 Map> 一般合約。

<強 > 請注意,此實作不會同步處理。 </strong > 如果多個執行緒同時存取對應,而且至少有一個執行緒以結構化方式修改地圖, < 則必須在外部同步處理 em >< / em > 。 (結構修改是新增或刪除一或多個對應的任何作業;只變更與現有索引鍵相關聯的值不是結構修改。) 這通常是透過在自然封裝地圖的某些物件上同步來完成。 如果沒有這類物件存在,則對應應該使用 Collections#synchronizedSortedMap Collections.synchronizedSortedMap 方法「包裝」。 這最好是在建立時完成,以防止意外未同步存取地圖:

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

所有 iterator 這個類別的「集合檢視方法」所傳回之集合的反覆運算器都是 < em > fail-fast < /em > :如果在建立反覆運算器之後,任何時間都會以結構化方式修改對應,但透過反覆運算器自己的 remove 方法除外,反覆運算器會擲回 ConcurrentModificationException 。 因此,在同時修改時,反覆運算器會快速且簡潔地失敗,而不是在未來不具決定性的任意不具決定性行為風險。

請注意,反覆運算器的失敗快速行為無法保證,一般而言,不可能在未同步處理並行修改的情況下進行任何硬式保證。 快速反覆運算器會以最佳方式擲回 ConcurrentModificationException 。 因此,撰寫相依于此例外狀況的程式是否正確: < em > iterator 的失敗快速行為應該只用來偵測錯誤。 </Em>

這個類別中方法所傳回的所有 Map.Entry 配對及其檢視都代表產生時對應的快照集。 它們沒有 << 強 > 式/強式 > 支援 Entry.setValue 方法。 (請注意,您可以使用 .) 變更相關聯對應 put 中的對應

這個類別是 JAVA Collections Framework的成員。

已在 1.2 中新增。

java.util.TreeMap JAVA 檔。

此頁面的部分是根據 原始碼專案所建立和共用的工作進行修改,並根據中所述的詞彙使用。

建構函式

TreeMap()

使用其索引鍵的自然順序,建構新的空白樹狀圖。

TreeMap(IComparator)

根據指定的比較子來建構新的空白樹狀結構對應。

TreeMap(IDictionary)

根據索引鍵的 em > 自然排序 < /em > , < 建構包含與指定地圖相同的對應的新樹狀結構對應。

TreeMap(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 標記法時所使用的建構函式;由執行時間呼叫。

屬性

Class

傳回這個 Object 的執行時間類別。

(繼承來源 Object)
Handle

基礎 Android 實例的控制碼。

(繼承來源 Object)
IsEmpty

要新增

(繼承來源 AbstractMap)
JniIdentityHashCode

Red-Black 樹狀結構實 NavigableMap 作。

(繼承來源 Object)
JniPeerMembers

Red-Black 樹狀結構實 NavigableMap 作。

PeerReference

Red-Black 樹狀結構實 NavigableMap 作。

(繼承來源 Object)
ThresholdClass

此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式碼使用。

ThresholdType

此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式碼使用。

方法

CeilingEntry(Object)

Red-Black 樹狀結構實 NavigableMap 作。

CeilingKey(Object)

已在 1 中新增。

Clear()

要新增

(繼承來源 AbstractMap)
Clone()

傳回這個 TreeMap 實例的淺層複本。

Comparator()

傳回用來比較這個排序對應中索引鍵的比較子,如果自然順序正在使用中,則傳回 null。

ContainsKey(Object)

要新增

(繼承來源 AbstractMap)
ContainsValue(Object)

要新增

(繼承來源 AbstractMap)
DescendingKeySet()

已在 1 中新增。

DescendingMap()

已在 1 中新增。

Dispose()

Red-Black 樹狀結構實 NavigableMap 作。

(繼承來源 Object)
Dispose(Boolean)

Red-Black 樹狀結構實 NavigableMap 作。

(繼承來源 Object)
EntrySet()

Set傳回這個對應中包含的對應檢視。

Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
FirstEntry()

傳回與此對應中最小索引鍵相關聯的索引鍵/值對應,如果對應是空的,則 null 傳回 。

FirstKey()

傳回這個排序對應中的最小索引鍵。

FloorEntry(Object)

Red-Black 樹狀結構實 NavigableMap 作。

FloorKey(Object)

已在 1 中新增。

ForEach(IBiConsumer)

Red-Black 樹狀結構實 NavigableMap 作。

Get(Object)

要新增

(繼承來源 AbstractMap)
GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
HeadMap(Object)

Red-Black 樹狀結構實 NavigableMap 作。

HeadMap(Object, Boolean)

已在 1 中新增。

HigherEntry(Object)

Red-Black 樹狀結構實 NavigableMap 作。

HigherKey(Object)

已在 1 中新增。

JavaFinalize()

當垃圾收集判斷物件沒有其他參考時,由物件上的垃圾收集行程呼叫。

(繼承來源 Object)
KeySet()

要新增

(繼承來源 AbstractMap)
LastEntry()

傳回與此對應中最大索引鍵相關聯的索引鍵/值對應,如果對應是空的,則 null 傳回 。

LastKey()

傳回這個排序的對應中最大的索引鍵。

LowerEntry(Object)

Red-Black 樹狀結構實 NavigableMap 作。

LowerKey(Object)

已在 1 中新增。

NavigableKeySet()

已在 1 中新增。

Notify()

喚醒正在等候此物件的監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
PollFirstEntry()

移除並傳回與此對應中最小索引鍵相關聯的索引鍵/值對應,如果 null 對應是空的,則為 。

PollLastEntry()

移除並傳回與此對應中最大索引鍵相關聯的索引鍵/值對應,如果 null 對應是空的,則為 。

Put(Object, Object)

要新增

(繼承來源 AbstractMap)
PutAll(IDictionary)

要新增

(繼承來源 AbstractMap)
Remove(Object)

要新增

(繼承來源 AbstractMap)
Replace(Object, Object)

Red-Black 樹狀結構實 NavigableMap 作。

Replace(Object, Object, Object)

Red-Black 樹狀結構實 NavigableMap 作。

ReplaceAll(IBiFunction)

Red-Black 樹狀結構實 NavigableMap 作。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
Size()

要新增

(繼承來源 AbstractMap)
SubMap(Object, Boolean, Object, Boolean)

已在 1 中新增。

SubMap(Object, Object)

Red-Black 樹狀結構實 NavigableMap 作。

TailMap(Object)

Red-Black 樹狀結構實 NavigableMap 作。

TailMap(Object, Boolean)

已在 1 中新增。

ToArray<T>()

Red-Black 樹狀結構實 NavigableMap 作。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

Red-Black 樹狀結構實 NavigableMap 作。

(繼承來源 Object)
Values()

要新增

(繼承來源 AbstractMap)
Wait()

讓目前的執行緒等到喚醒為止,通常是藉由 < em > notified < /em > 或 < em > interrupted < /em > 來喚醒。

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 < 透過 em > notified < /em 或 em > interrupted < /em >> ,或 < 直到經過一定數量的即時為止。

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的執行緒等到喚醒為止,通常是 < 透過 em > notified < /em 或 em > interrupted < /em >> ,或 < 直到經過一定數量的即時為止。

(繼承來源 Object)

明確介面實作

IJavaPeerable.Disposed()

Red-Black 樹狀結構實 NavigableMap 作。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

Red-Black 樹狀結構實 NavigableMap 作。

(繼承來源 Object)
IJavaPeerable.Finalized()

Red-Black 樹狀結構實 NavigableMap 作。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

Red-Black 樹狀結構實 NavigableMap 作。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Red-Black 樹狀結構實 NavigableMap 作。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Red-Black 樹狀結構實 NavigableMap 作。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Red-Black 樹狀結構實 NavigableMap 作。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

Red-Black 樹狀結構實 NavigableMap 作。

GetJniTypeName(IJavaPeerable)

Red-Black 樹狀結構實 NavigableMap 作。

適用於