Arrays.BinarySearch 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
BinarySearch(Object[], Int32, Int32, Object, IComparator)
使用二进制搜索算法搜索指定对象的指定数组范围。
[Android.Runtime.Register("binarySearch", "([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static int BinarySearch(Java.Lang.Object[] a, int fromIndex, int toIndex, Java.Lang.Object? key, Java.Util.IComparator? c);
[<Android.Runtime.Register("binarySearch", "([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member BinarySearch : Java.Lang.Object[] * int * int * Java.Lang.Object * Java.Util.IComparator -> int
参数
- a
- Object[]
要搜索的数组
- fromIndex
- Int32
要搜索的第一个元素(非独占)的索引
- toIndex
- Int32
要搜索的最后一个元素(独占)的索引
- key
- Object
要搜索的值
对数组进行排序的比较器。 一个 null 值指示应使用元素的可比较自然排序。
返回
搜索键的索引(如果它包含在指定范围内的数组中);否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:范围中第一个元素的索引大于键,或者toIndex该区域中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
注解
使用二进制搜索算法搜索指定对象的指定数组范围。 在进行此调用之前,必须根据指定的比较器(如 #sort(Object[], int, int, Comparator) sort(T[], int, int, Comparator) 方法)将范围排序为升序。 如果未排序,则结果未定义。 如果范围包含等于指定对象的多个元素,则不能保证将找到哪个元素。
已在 1.6 中添加。
Java文档java.util.Arrays.binarySearch(T[], int, int, T, java.util.Comparator<? super T>)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Single[], Int32, Int32, Single)
使用二进制搜索算法搜索指定值的指定浮点数组的范围。
[Android.Runtime.Register("binarySearch", "([FIIF)I", "")]
public static int BinarySearch(float[] a, int fromIndex, int toIndex, float key);
[<Android.Runtime.Register("binarySearch", "([FIIF)I", "")>]
static member BinarySearch : single[] * int * int * single -> int
参数
- a
- Single[]
要搜索的数组
- fromIndex
- Int32
要搜索的第一个元素(非独占)的索引
- toIndex
- Int32
要搜索的最后一个元素(独占)的索引
- key
- Single
要搜索的值
返回
搜索键的索引(如果它包含在指定范围内的数组中);否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:范围中第一个元素的索引大于键,或者toIndex该区域中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
例外
如果 startIndex > endIndex
如果 startIndex array.length
注解
使用二进制搜索算法搜索指定值的指定浮点数组的范围。 在进行此调用之前,范围必须按 #sort(float[], int, int) 方法排序。 如果未排序,则结果未定义。 如果范围包含具有指定值的多个元素,则不能保证找到哪个元素。 此方法将所有 NaN 值视为等效值和相等值。
已在 1.6 中添加。
Java文档java.util.Arrays.binarySearch(.*float[], .*int, .*int, .*float)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Int64[], Int32, Int32, Int64)
使用二进制搜索算法搜索指定值的指定长数组的范围。
[Android.Runtime.Register("binarySearch", "([JIIJ)I", "")]
public static int BinarySearch(long[] a, int fromIndex, int toIndex, long key);
[<Android.Runtime.Register("binarySearch", "([JIIJ)I", "")>]
static member BinarySearch : int64[] * int * int * int64 -> int
参数
- a
- Int64[]
要搜索的数组
- fromIndex
- Int32
要搜索的第一个元素(非独占)的索引
- toIndex
- Int32
要搜索的最后一个元素(独占)的索引
- key
- Int64
要搜索的值
返回
搜索键的索引(如果它包含在指定范围内的数组中);否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:范围中第一个元素的索引大于键,或者toIndex该区域中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
例外
如果 startIndex > endIndex
如果 startIndex array.length
注解
使用二进制搜索算法搜索指定值的指定长数组的范围。 在进行此调用之前,范围必须按 #sort(long[], int, int) 方法排序。 如果未排序,则结果未定义。 如果范围包含具有指定值的多个元素,则不能保证找到哪个元素。
已在 1.6 中添加。
Java文档java.util.Arrays.binarySearch(.*long[], .*int, .*int, .*long)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Int32[], Int32, Int32, Int32)
使用二进制搜索算法搜索指定值的 int 数组的范围。
[Android.Runtime.Register("binarySearch", "([IIII)I", "")]
public static int BinarySearch(int[] a, int fromIndex, int toIndex, int key);
[<Android.Runtime.Register("binarySearch", "([IIII)I", "")>]
static member BinarySearch : int[] * int * int * int -> int
参数
- a
- Int32[]
要搜索的数组
- fromIndex
- Int32
要搜索的第一个元素(非独占)的索引
- toIndex
- Int32
要搜索的最后一个元素(独占)的索引
- key
- Int32
要搜索的值
返回
搜索键的索引(如果它包含在指定范围内的数组中);否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:范围中第一个元素的索引大于键,或者toIndex该区域中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
例外
如果 startIndex > endIndex
如果 startIndex array.length
注解
使用二进制搜索算法搜索指定值的 int 数组的范围。 在进行此调用之前,范围必须按 #sort(int[], int, int) 方法排序。 如果未排序,则结果未定义。 如果范围包含具有指定值的多个元素,则不能保证找到哪个元素。
已在 1.6 中添加。
Java文档java.util.Arrays.binarySearch(.*int[], .*int, .*int, .*int)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Int16[], Int32, Int32, Int16)
使用二进制搜索算法搜索指定值的短裤数组的范围。
[Android.Runtime.Register("binarySearch", "([SIIS)I", "")]
public static int BinarySearch(short[] a, int fromIndex, int toIndex, short key);
[<Android.Runtime.Register("binarySearch", "([SIIS)I", "")>]
static member BinarySearch : int16[] * int * int * int16 -> int
参数
- a
- Int16[]
要搜索的数组
- fromIndex
- Int32
要搜索的第一个元素(非独占)的索引
- toIndex
- Int32
要搜索的最后一个元素(独占)的索引
- key
- Int16
要搜索的值
返回
搜索键的索引(如果它包含在指定范围内的数组中);否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:范围中第一个元素的索引大于键,或者toIndex该区域中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
例外
如果 startIndex > endIndex
如果 startIndex array.length
注解
使用二进制搜索算法搜索指定值的短裤数组的范围。 在进行此调用之前,范围必须按 #sort(short[], int, int) 方法排序。 如果未排序,则结果未定义。 如果范围包含具有指定值的多个元素,则不能保证找到哪个元素。
已在 1.6 中添加。
Java文档java.util.Arrays.binarySearch(.*short[], .*int, .*int, .*short)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Char[], Int32, Int32, Char)
使用二进制搜索算法搜索指定值字符数组的范围。
[Android.Runtime.Register("binarySearch", "([CIIC)I", "")]
public static int BinarySearch(char[] a, int fromIndex, int toIndex, char key);
[<Android.Runtime.Register("binarySearch", "([CIIC)I", "")>]
static member BinarySearch : char[] * int * int * char -> int
参数
- a
- Char[]
要搜索的数组
- fromIndex
- Int32
要搜索的第一个元素(非独占)的索引
- toIndex
- Int32
要搜索的最后一个元素(独占)的索引
- key
- Char
要搜索的值
返回
搜索键的索引(如果它包含在指定范围内的数组中);否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:范围中第一个元素的索引大于键,或者toIndex该区域中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
例外
如果 startIndex > endIndex
如果 startIndex array.length
注解
使用二进制搜索算法搜索指定值字符数组的范围。 在进行此调用之前,范围必须按 #sort(char[], int, int) 方法排序。 如果未排序,则结果未定义。 如果范围包含具有指定值的多个元素,则不能保证找到哪个元素。
已在 1.6 中添加。
Java文档java.util.Arrays.binarySearch(.*char[], .*int, .*int, .*char)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Byte[], Int32, Int32, SByte)
使用二进制搜索算法搜索指定值的指定字节数组的范围。
[Android.Runtime.Register("binarySearch", "([BIIB)I", "")]
public static int BinarySearch(byte[] a, int fromIndex, int toIndex, sbyte key);
[<Android.Runtime.Register("binarySearch", "([BIIB)I", "")>]
static member BinarySearch : byte[] * int * int * sbyte -> int
参数
- a
- Byte[]
要搜索的数组
- fromIndex
- Int32
要搜索的第一个元素(非独占)的索引
- toIndex
- Int32
要搜索的最后一个元素(独占)的索引
- key
- SByte
要搜索的值
返回
搜索键的索引(如果它包含在指定范围内的数组中);否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:范围中第一个元素的索引大于键,或者toIndex该区域中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
例外
如果 startIndex > endIndex
如果 startIndex array.length
注解
使用二进制搜索算法搜索指定值的指定字节数组的范围。 在进行此调用之前,范围必须按 #sort(byte[], int, int) 方法排序。 如果未排序,则结果未定义。 如果范围包含具有指定值的多个元素,则不能保证找到哪个元素。
已在 1.6 中添加。
Java文档java.util.Arrays.binarySearch(.*byte[], .*int, .*int, .*byte)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Object[], Int32, Int32, Object)
使用二进制搜索算法搜索指定对象的指定数组范围。
[Android.Runtime.Register("binarySearch", "([Ljava/lang/Object;IILjava/lang/Object;)I", "")]
public static int BinarySearch(Java.Lang.Object[] a, int fromIndex, int toIndex, Java.Lang.Object key);
[<Android.Runtime.Register("binarySearch", "([Ljava/lang/Object;IILjava/lang/Object;)I", "")>]
static member BinarySearch : Java.Lang.Object[] * int * int * Java.Lang.Object -> int
参数
- a
- Object[]
要搜索的数组
- fromIndex
- Int32
要搜索的第一个元素(非独占)的索引
- toIndex
- Int32
要搜索的最后一个元素(独占)的索引
- key
- Object
要搜索的值
返回
搜索键的索引(如果它包含在指定范围内的数组中);否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:范围中第一个元素的索引大于键,或者toIndex该区域中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
例外
如果数组或搜索元素中的元素未实现 Comparable,或者无法相互比较,则为 。
如果 startIndex > endIndex
如果 startIndex array.length
注解
使用二进制搜索算法搜索指定对象的指定数组范围。 在进行此调用之前,必须根据元素的可比自然顺序(如 #sort(Object[], int, int) 方法)将范围排序为升序。 如果未排序,则结果未定义。 (如果范围包含不可相互比较的元素(例如字符串和整数),则 无法 根据其元素的自然顺序对其进行排序,因此结果未定义。 如果范围包含等于指定对象的多个元素,则不能保证将找到哪个元素。
已在 1.6 中添加。
Java文档java.util.Arrays.binarySearch(java.lang.Object[], int, int, java.lang.Object)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Double[], Int32, Int32, Double)
使用二进制搜索算法搜索指定的双精度值数组的范围。
[Android.Runtime.Register("binarySearch", "([DIID)I", "")]
public static int BinarySearch(double[] a, int fromIndex, int toIndex, double key);
[<Android.Runtime.Register("binarySearch", "([DIID)I", "")>]
static member BinarySearch : double[] * int * int * double -> int
参数
- a
- Double[]
要搜索的数组
- fromIndex
- Int32
要搜索的第一个元素(非独占)的索引
- toIndex
- Int32
要搜索的最后一个元素(独占)的索引
- key
- Double
要搜索的值
返回
搜索键的索引(如果它包含在指定范围内的数组中);否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:范围中第一个元素的索引大于键,或者toIndex该区域中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
例外
如果 startIndex > endIndex
如果 startIndex array.length
注解
使用二进制搜索算法搜索指定的双精度值数组的范围。 在进行此调用之前,范围必须按 #sort(double[], int, int) 方法排序。 如果未排序,则结果未定义。 如果范围包含具有指定值的多个元素,则不能保证找到哪个元素。 此方法将所有 NaN 值视为等效值和相等值。
已在 1.6 中添加。
Java文档java.util.Arrays.binarySearch(.*double[], .*int, .*int, .*double)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Single[], Single)
使用二进制搜索算法搜索指定值的浮点数数组。
[Android.Runtime.Register("binarySearch", "([FF)I", "")]
public static int BinarySearch(float[] a, float key);
[<Android.Runtime.Register("binarySearch", "([FF)I", "")>]
static member BinarySearch : single[] * single -> int
参数
- a
- Single[]
要搜索的数组
- key
- Single
要搜索的值
返回
如果搜索键包含在数组中,则为搜索键的索引;否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:大于键的第一个元素的索引,或者a.length数组中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
注解
使用二进制搜索算法搜索指定值的浮点数数组。 在进行此调用之前,数组必须按方法排序 #sort(float[]) 。 如果未排序,则结果未定义。 如果数组包含具有指定值的多个元素,则不能保证将找到哪个元素。 此方法将所有 NaN 值视为等效值和相等值。
Java文档java.util.Arrays.binarySearch(.*float[], .*float)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Int64[], Int64)
使用二进制搜索算法在指定的长数组中搜索指定的值。
[Android.Runtime.Register("binarySearch", "([JJ)I", "")]
public static int BinarySearch(long[] a, long key);
[<Android.Runtime.Register("binarySearch", "([JJ)I", "")>]
static member BinarySearch : int64[] * int64 -> int
参数
- a
- Int64[]
要搜索的数组
- key
- Int64
要搜索的值
返回
如果搜索键包含在数组中,则为搜索键的索引;否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:大于键的第一个元素的索引,或者a.length数组中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
注解
使用二进制搜索算法在指定的长数组中搜索指定的值。 在进行此调用之前,数组必须按方法排序 #sort(long[]) 。 如果未排序,则结果未定义。 如果数组包含具有指定值的多个元素,则不能保证将找到哪个元素。
Java文档java.util.Arrays.binarySearch(.*long[], .*long)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Int32[], Int32)
使用二进制搜索算法搜索指定值的 ints 数组。
[Android.Runtime.Register("binarySearch", "([II)I", "")]
public static int BinarySearch(int[] a, int key);
[<Android.Runtime.Register("binarySearch", "([II)I", "")>]
static member BinarySearch : int[] * int -> int
参数
- a
- Int32[]
要搜索的数组
- key
- Int32
要搜索的值
返回
如果搜索键包含在数组中,则为搜索键的索引;否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:大于键的第一个元素的索引,或者a.length数组中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
注解
使用二进制搜索算法搜索指定值的 ints 数组。 在进行此调用之前,数组必须按方法排序 #sort(int[]) 。 如果未排序,则结果未定义。 如果数组包含具有指定值的多个元素,则不能保证将找到哪个元素。
Java文档java.util.Arrays.binarySearch(.*int[], .*int)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Int16[], Int16)
使用二进制搜索算法搜索指定值的短裤数组。
[Android.Runtime.Register("binarySearch", "([SS)I", "")]
public static int BinarySearch(short[] a, short key);
[<Android.Runtime.Register("binarySearch", "([SS)I", "")>]
static member BinarySearch : int16[] * int16 -> int
参数
- a
- Int16[]
要搜索的数组
- key
- Int16
要搜索的值
返回
如果搜索键包含在数组中,则为搜索键的索引;否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:大于键的第一个元素的索引,或者a.length数组中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
注解
使用二进制搜索算法搜索指定值的短裤数组。 在进行此调用之前,数组必须按方法排序 #sort(short[]) 。 如果未排序,则结果未定义。 如果数组包含具有指定值的多个元素,则不能保证将找到哪个元素。
Java文档java.util.Arrays.binarySearch(.*short[], .*short)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Double[], Double)
使用二进制搜索算法搜索指定值的双精度值数组。
[Android.Runtime.Register("binarySearch", "([DD)I", "")]
public static int BinarySearch(double[] a, double key);
[<Android.Runtime.Register("binarySearch", "([DD)I", "")>]
static member BinarySearch : double[] * double -> int
参数
- a
- Double[]
要搜索的数组
- key
- Double
要搜索的值
返回
如果搜索键包含在数组中,则为搜索键的索引;否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:大于键的第一个元素的索引,或者a.length数组中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
注解
使用二进制搜索算法搜索指定值的双精度值数组。 在进行此调用之前,数组必须按方法排序 #sort(double[]) 。 如果未排序,则结果未定义。 如果数组包含具有指定值的多个元素,则不能保证将找到哪个元素。 此方法将所有 NaN 值视为等效值和相等值。
Java文档java.util.Arrays.binarySearch(.*double[], .*double)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Char[], Char)
使用二进制搜索算法搜索指定值的字符数组。
[Android.Runtime.Register("binarySearch", "([CC)I", "")]
public static int BinarySearch(char[] a, char key);
[<Android.Runtime.Register("binarySearch", "([CC)I", "")>]
static member BinarySearch : char[] * char -> int
参数
- a
- Char[]
要搜索的数组
- key
- Char
要搜索的值
返回
如果搜索键包含在数组中,则为搜索键的索引;否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:大于键的第一个元素的索引,或者a.length数组中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
注解
使用二进制搜索算法搜索指定值的字符数组。 在进行此调用之前,数组必须按方法排序 #sort(char[]) 。 如果未排序,则结果未定义。 如果数组包含具有指定值的多个元素,则不能保证将找到哪个元素。
Java文档java.util.Arrays.binarySearch(.*char[], .*char)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Byte[], SByte)
使用二进制搜索算法搜索指定值的指定字节数组。
[Android.Runtime.Register("binarySearch", "([BB)I", "")]
public static int BinarySearch(byte[] a, sbyte key);
[<Android.Runtime.Register("binarySearch", "([BB)I", "")>]
static member BinarySearch : byte[] * sbyte -> int
参数
- a
- Byte[]
要搜索的数组
- key
- SByte
要搜索的值
返回
如果搜索键包含在数组中,则为搜索键的索引;否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:大于键的第一个元素的索引,或者a.length数组中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
注解
使用二进制搜索算法搜索指定值的指定字节数组。 在进行此调用之前,数组必须按方法排序 #sort(byte[]) 。 如果未排序,则结果未定义。 如果数组包含具有指定值的多个元素,则不能保证将找到哪个元素。
Java文档java.util.Arrays.binarySearch(.*byte[], .*byte)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Object[], Object)
使用二进制搜索算法搜索指定对象的指定数组。
[Android.Runtime.Register("binarySearch", "([Ljava/lang/Object;Ljava/lang/Object;)I", "")]
public static int BinarySearch(Java.Lang.Object[] a, Java.Lang.Object key);
[<Android.Runtime.Register("binarySearch", "([Ljava/lang/Object;Ljava/lang/Object;)I", "")>]
static member BinarySearch : Java.Lang.Object[] * Java.Lang.Object -> int
参数
- a
- Object[]
要搜索的数组
- key
- Object
要搜索的值
返回
如果搜索键包含在数组中,则为搜索键的索引;否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:大于键的第一个元素的索引,或者a.length数组中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
例外
如果数组或搜索元素中的元素未实现 Comparable,或者无法相互比较,则为 。
注解
使用二进制搜索算法搜索指定对象的指定数组。 在进行此调用之前,数组必须按照元素的可比自然顺序(如 #sort(Object[]) 方法)排序为升序。 如果未排序,则结果未定义。 (如果数组包含不可相互比较的元素(例如字符串和整数),则 不能 根据其元素的自然顺序对其进行排序,因此结果未定义。 如果数组包含等于指定对象的多个元素,则不能保证将找到哪个元素。
Java文档java.util.Arrays.binarySearch(java.lang.Object[], java.lang.Object)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
BinarySearch(Object[], Object, IComparator)
使用二进制搜索算法搜索指定对象的指定数组。
[Android.Runtime.Register("binarySearch", "([Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Comparator;)I", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static int BinarySearch(Java.Lang.Object[] a, Java.Lang.Object? key, Java.Util.IComparator? c);
[<Android.Runtime.Register("binarySearch", "([Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Comparator;)I", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member BinarySearch : Java.Lang.Object[] * Java.Lang.Object * Java.Util.IComparator -> int
参数
- a
- Object[]
要搜索的数组
- key
- Object
要搜索的值
对数组进行排序的比较器。 一个 null 值指示应使用元素的可比较自然排序。
返回
如果搜索键包含在数组中,则为搜索键的索引;否则,为 (-(<i>insertion point</i>) - 1).
插入点定义为将键插入数组的点:大于键的第一个元素的索引,或者a.length数组中的所有元素都小于指定键。 请注意,这可以保证返回值在找到密钥时才为 0。
- 属性
注解
使用二进制搜索算法搜索指定对象的指定数组。 在进行此调用之前,必须根据指定的比较器(如 #sort(Object[], Comparator) sort(T[], Comparator) 方法)将数组排序为升序。 如果未排序,则结果未定义。 如果数组包含等于指定对象的多个元素,则不能保证将找到哪个元素。
Java文档java.util.Arrays.binarySearch(T[], T, java.util.Comparator<? super T>)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。