共用方式為


TreeMap 類別

定義

以紅黑樹狀結構為基礎的 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
繼承
屬性
實作

備註

以紅黑樹狀結構為基礎的 NavigableMap 實作。 根據其索引鍵的可比較自然順序,或根據使用哪一個 Comparator 建構函式,在地圖建立時間提供來排序地圖。

此實作提供、 getputremove 作業的containsKey保證log(n) 時間成本。 演算法是 Cormen、Leiserson 和 Rivest <的 em>Algorithms</em> 簡介中的演算法的改編。

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

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

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

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

請注意,Iterator 的失敗快速行為無法保證,一般來說,不可能在未同步處理並行修改的情況下進行任何硬式保證。 快速反覆運算器會盡最大努力擲回 ConcurrentModificationException 。 因此,撰寫依賴此例外狀況的程序正確性是錯誤的: <而>反覆運算器的失敗快速行為應該只用來偵測 Bug。</em>

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

這個類別是 Java Collections Framework 的成員

已在1.2中新增。

java.util.TreeMapJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

TreeMap()

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

TreeMap(IComparator)

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

TreeMap(IDictionary)

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

TreeMap(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

屬性

Class

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

(繼承來源 Object)
Handle

基礎Android實例的句柄。

(繼承來源 Object)
IsEmpty

要新增

(繼承來源 AbstractMap)
JniIdentityHashCode

以紅黑樹狀結構為基礎的 NavigableMap 實作。

(繼承來源 Object)
JniPeerMembers

以紅黑樹狀結構為基礎的 NavigableMap 實作。

PeerReference

以紅黑樹狀結構為基礎的 NavigableMap 實作。

(繼承來源 Object)
ThresholdClass

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

ThresholdType

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

方法

CeilingEntry(Object)

以紅黑樹狀結構為基礎的 NavigableMap 實作。

CeilingKey(Object)

已在1中新增。

Clear()

要新增

(繼承來源 AbstractMap)
Clone()

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

Comparator()

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

ContainsKey(Object)

要新增

(繼承來源 AbstractMap)
ContainsValue(Object)

要新增

(繼承來源 AbstractMap)
DescendingKeySet()

已在1中新增。

DescendingMap()

已在1中新增。

Dispose()

以紅黑樹狀結構為基礎的 NavigableMap 實作。

(繼承來源 Object)
Dispose(Boolean)

以紅黑樹狀結構為基礎的 NavigableMap 實作。

(繼承來源 Object)
EntrySet()

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

Equals(Object)

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

(繼承來源 Object)
FirstEntry()

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

FirstKey()

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

FloorEntry(Object)

以紅黑樹狀結構為基礎的 NavigableMap 實作。

FloorKey(Object)

已在1中新增。

ForEach(IBiConsumer)

以紅黑樹狀結構為基礎的 NavigableMap 實作。

Get(Object)

要新增

(繼承來源 AbstractMap)
GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
HeadMap(Object, Boolean)

已在1中新增。

HeadMap(Object)

以紅黑樹狀結構為基礎的 NavigableMap 實作。

HigherEntry(Object)

以紅黑樹狀結構為基礎的 NavigableMap 實作。

HigherKey(Object)

已在1中新增。

JavaFinalize()

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
KeySet()

要新增

(繼承來源 AbstractMap)
LastEntry()

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

LastKey()

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

LowerEntry(Object)

以紅黑樹狀結構為基礎的 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, Object)

以紅黑樹狀結構為基礎的 NavigableMap 實作。

Replace(Object, Object)

以紅黑樹狀結構為基礎的 NavigableMap 實作。

ReplaceAll(IBiFunction)

以紅黑樹狀結構為基礎的 NavigableMap 實作。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
Size()

要新增

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

已在1中新增。

SubMap(Object, Object)

以紅黑樹狀結構為基礎的 NavigableMap 實作。

TailMap(Object, Boolean)

已在1中新增。

TailMap(Object)

以紅黑樹狀結構為基礎的 NavigableMap 實作。

ToArray<T>()

以紅黑樹狀結構為基礎的 NavigableMap 實作。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

以紅黑樹狀結構為基礎的 NavigableMap 實作。

(繼承來源 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 實作。

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

以紅黑樹狀結構為基礎的 NavigableMap 實作。

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

以紅黑樹狀結構為基礎的 NavigableMap 實作。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

以紅黑樹狀結構為基礎的 NavigableMap 實作。

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

以紅黑樹狀結構為基礎的 NavigableMap 實作。

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

以紅黑樹狀結構為基礎的 NavigableMap 實作。

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

以紅黑樹狀結構為基礎的 NavigableMap 實作。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

以紅黑樹狀結構為基礎的 NavigableMap 實作。

GetJniTypeName(IJavaPeerable)

以紅黑樹狀結構為基礎的 NavigableMap 實作。

適用於