Collections.BinarySearch 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| BinarySearch(IList, Object) |
利用二元搜尋演算法搜尋指定物件的指定清單。 |
| BinarySearch(IList, Object, IComparator) |
利用二元搜尋演算法搜尋指定物件的指定清單。 |
BinarySearch(IList, Object)
利用二元搜尋演算法搜尋指定物件的指定清單。
[Android.Runtime.Register("binarySearch", "(Ljava/util/List;Ljava/lang/Object;)I", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static int BinarySearch(System.Collections.IList list, Java.Lang.Object key);
[<Android.Runtime.Register("binarySearch", "(Ljava/util/List;Ljava/lang/Object;)I", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member BinarySearch : System.Collections.IList * Java.Lang.Object -> int
參數
- list
- IList
待搜尋的清單。
- key
- Object
那是需要尋找的關鍵。
傳回
搜尋鍵的索引(如果包含在列表中);否則,。 (-(<i>insertion point</i>) - 1)
插入點定義為將鍵插入清單的點:即第一個元素的索引,大於鍵值,或list.size()當列表中所有元素都小於指定鍵時。 請注意,這保證了當且僅當找到該金鑰時,回傳值會大於 gt;= 0。
- 屬性
備註
利用二元搜尋演算法搜尋指定物件的指定清單。 在呼叫此項前,必須依據其元素的可比自然排序(如同該 #sort(List) 方法所依)依遞增排序。 若未排序,結果即為未定義。 如果清單包含多個元素,與指定物件相等,則無法保證會找到哪一個。
此方法在「隨機存取」列表(提供近乎恆定時間的位置存取)時以 log(n) 時間執行。 若指定的清單未實作 RandomAccess 介面且容量較大,此方法將進行基於迭代器的二分位搜尋,執行 O(n) 次連結遍歷及 O(log n) 元素比較。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
適用於
BinarySearch(IList, Object, IComparator)
利用二元搜尋演算法搜尋指定物件的指定清單。
[Android.Runtime.Register("binarySearch", "(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static int BinarySearch(System.Collections.IList list, Java.Lang.Object? key, Java.Util.IComparator? c);
[<Android.Runtime.Register("binarySearch", "(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member BinarySearch : System.Collections.IList * Java.Lang.Object * Java.Util.IComparator -> int
參數
- list
- IList
待搜尋的清單。
- key
- Object
那是需要尋找的關鍵。
列表排序的比較器。
一個 null 值表示應使用元素的可比自然排序。
傳回
搜尋鍵的索引(如果包含在列表中);否則,。 (-(<i>insertion point</i>) - 1)
插入點定義為將鍵插入清單的點:即第一個元素的索引,大於鍵值,或list.size()當列表中所有元素都小於指定鍵時。 請注意,這保證了當且僅當找到該金鑰時,回傳值會大於 gt;= 0。
- 屬性
備註
利用二元搜尋演算法搜尋指定物件的指定清單。 在呼叫前,必須依照指定的比較器(如同方法) #sort(List, Comparator) sort(List, Comparator) 依序排序清單。 若未排序,結果即為未定義。 如果清單包含多個元素,與指定物件相等,則無法保證會找到哪一個。
此方法在「隨機存取」列表(提供近乎恆定時間的位置存取)時以 log(n) 時間執行。 若指定的清單未實作 RandomAccess 介面且容量較大,此方法將進行基於迭代器的二分位搜尋,執行 O(n) 次連結遍歷及 O(log n) 元素比較。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。