Arrays.BinarySearch 方法

定义

重载

名称 说明
BinarySearch(Object[], Int32, Int32, Object, IComparator)

使用二进制搜索算法搜索指定对象的指定数组范围。

BinarySearch(Single[], Int32, Int32, Single)

使用二进制搜索算法搜索指定值的指定浮点数组的范围。

BinarySearch(Int64[], Int32, Int32, Int64)

使用二进制搜索算法搜索指定值的指定长数组的范围。

BinarySearch(Int32[], Int32, Int32, Int32)

使用二进制搜索算法搜索指定值的 int 数组的范围。

BinarySearch(Int16[], Int32, Int32, Int16)

使用二进制搜索算法搜索指定值的短裤数组的范围。

BinarySearch(Char[], Int32, Int32, Char)

使用二进制搜索算法搜索指定值字符数组的范围。

BinarySearch(Byte[], Int32, Int32, SByte)

使用二进制搜索算法搜索指定值的指定字节数组的范围。

BinarySearch(Object[], Int32, Int32, Object)

使用二进制搜索算法搜索指定对象的指定数组范围。

BinarySearch(Double[], Int32, Int32, Double)

使用二进制搜索算法搜索指定的双精度值数组的范围。

BinarySearch(Single[], Single)

使用二进制搜索算法搜索指定值的浮点数数组。

BinarySearch(Int64[], Int64)

使用二进制搜索算法在指定的长数组中搜索指定的值。

BinarySearch(Int32[], Int32)

使用二进制搜索算法搜索指定值的 ints 数组。

BinarySearch(Int16[], Int16)

使用二进制搜索算法搜索指定值的短裤数组。

BinarySearch(Double[], Double)

使用二进制搜索算法搜索指定值的双精度值数组。

BinarySearch(Char[], Char)

使用二进制搜索算法搜索指定值的字符数组。

BinarySearch(Byte[], SByte)

使用二进制搜索算法搜索指定值的指定字节数组。

BinarySearch(Object[], Object)

使用二进制搜索算法搜索指定对象的指定数组。

BinarySearch(Object[], Object, IComparator)

使用二进制搜索算法搜索指定对象的指定数组。

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

要搜索的值

c
IComparator

对数组进行排序的比较器。 一个 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

要搜索的值

c
IComparator

对数组进行排序的比较器。 一个 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>)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于