`
jackroomage
  • 浏览: 1217614 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Arrays.binarySearch();的用法。

 
阅读更多

Arrays.binarySearch();的用法。


public static int binarySearch(Object[] a,Object key)
     使用二分搜索法来搜索指定数组,以获得指定对象。在进行此调用之前,     必须根据元素的自然顺序对数组进行升序排序(通过 sort(Object[]) 方     法     )。如果没有对数组进行排序,则结果是不确定的。(如果数组包     含不可相互比较的元素(例如,字符串和整数),则无法 根据其元素的自     然顺序对数组进行排序,因此结果是不确定的。)如果数组包含多个等于     指定对象的元素,则无法保证找到的是哪一个。

参数:
      a - 要搜索的数组
      key - 要搜索的值

返回:
     如果它包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1) 

     。插入点 被定义为将键插入数组的那一点:即第一       个大于此键的

     元素索引,如果数组中的所有元素都小于指定的键,则为 a.length。注意     ,这保证了当且仅当此键被找到时,返回的值将 >= 0。

      否则返回 (-(插入点) - 1)这句话要注意:要是查询的的值小于数组里面

       的最小值那么结果(-(0)-1结果就是-1),如果查询的 值大于数组里面的       最大值。那么结果就是(-(它的索引值)-1结果就是-(1+索引值))

抛出:
    ClassCastException - 如果搜索的键不能与数组的元素进行比较。

分享到:
评论

相关推荐

    你清楚Arrays.binarySearch()方法的返回值吗?

    现在,我们来看一下如何使用`Arrays.binarySearch()`方法。假设我们有一个已经排序的整数数组`arr`,我们要查找元素`key`: ```java int[] arr = {1, 3, 5, 7, 9}; int key = 5; int index = Arrays.binarySearch...

    Java.binarySearch.docx

    在Java编程语言中,`binarySearch()`方法是`java.util.Arrays`类的一个静态方法,它采用二分查找算法来高效地在有序数组中查找指定的元素。二分查找是一种在有序数据集合中寻找目标值的算法,其效率远高于线性搜索。...

    java的Arrays类的应用.doc

    - `Arrays.binarySearch()`方法实现了二分查找算法,用于在已经排序的数组中查找特定元素。如果找到,返回元素的索引;否则,返回一个负数,该负数的绝对值表示插入元素的位置。例如,`Arrays.binarySearch(array1,...

    Java binarysearch方法原理详解

    Java中的binarySearch方法是Java.util.Arrays类提供的一个静态方法,用于在数组中搜索指定的元素。该方法有两个用法,分别是搜索整个数组和搜索指定范围内的元素。 binarySearch(Object[], Object key)方法 该方法...

    java arrays类.docx

    - `binarySearch()` 方法:在已排序的数组中使用二分查找法寻找指定元素的索引。这个方法要求输入的数组必须已经排好序。 4. **数组的复制**: - `copyOf()` 方法:创建一个新的数组,其元素复制自原数组的一部分...

    Java实验-数组的定义、初始化方法 掌握数组的遍历方法 掌握Arryas类的使用

    * Arrays.binarySearch()方法可以在数组中查找元素,例如:Arrays.binarySearch(数组,元素); * Arrays.equals()方法可以比较两个数组是否相等,例如:Arrays.equals(数组1,数组2); 四、实验结果分析 * 实验...

    JAVA中工具类Arrays和异常处理的实例操作.doc

    `Arrays.binarySearch()`方法可以实现高效的二分查找。这种方法要求数组事先已经排序。该方法返回查找元素在数组中的索引位置,如果未找到则返回负数。 **示例代码**: ```java System.out.println(Arrays.binary...

    Arrays类常用方法.docx

    那么使用Arrays.binarySearch(intArray, 3)将会返回索引2,因为数组中的第三个元素是3。 3. Arrays.sort(数组名) sort() 方法可以对数组进行排序,排序方式可以是升序或降序。例如,如果我们有一个int类型的数组...

    BinarySearch:binarySearch

    以下是`Arrays.binarySearch()`的基本用法: ```java public static int binarySearch(int[] array, int key) public static <T> int binarySearch(T[] array, T key, Comparator<? super T> comparator) ``` 第一...

    java中的Arrays这个工具类你真的会用吗(一文秒懂)

    当使用`Arrays`类进行操作时,确保了解每个方法的要求,比如数组是否需要预先排序(对于`binarySearch`),以及方法返回值的含义(负数通常表示未找到)。 5. **总结** `Arrays`类是Java中一个强大的工具,提供了...

    java实例-数组(学习资料)

    `Arrays.binarySearch()`方法则是一个二分查找函数,它可以在已排序的数组中查找特定元素。在这个例子中,`Arrays.binarySearch(array, 2)`返回了元素2在排序后的数组中的索引位置,结果是5,因为元素2在排序后的...

    Java JDK 6学习笔记——ppt简体版 第21章.ppt

    - **Arrays.binarySearch()方法**:这个方法提供了二分查找功能,可以在排序数组中查找指定元素,返回元素的索引或插入点。示例中查找85的位置: ```java int result = Arrays.binarySearch(arr1, 6, 9, 85); ``...

    Java中Arrays类详解.docx

    - `binarySearch()`:在排序的数组中查找特定元素的索引,如果找不到则返回负值。 - `asList()`:将数组转换为`ArrayList`,这样就可以使用集合框架的方法。 总的来说,`Arrays`类极大地简化了对数组的操作,提供...

    java数组及arrays类对数组的操作实例

    接着,我们使用 Arrays.binarySearch() 方法来查找 a1 数组中值为 4 的元素,并将查找结果输出。 接下来,我们使用 Arrays.copyOf() 方法将 a1 数组复制到一个新的数组 a3 中,并将 a3 数组的值输出。然后,我们...

    java工具类-正则

    binarySearch(int[] a, int key)**:该方法使用二分查找算法来搜索指定整型数组中的特定值。 ```java int[] arr = {1, 3, 5, 6, 7, 8, 15, 20, 40, 80}; System.out.println(Arrays.binarySearch(arr, 5)); // ...

    Java数组特点及基本使用技巧

    4. 数组查找:可以使用Arrays.binarySearch()方法来查找某个元素。 关于数组的排序操作 1. 对象数组排序:对象数组可以使用Arrays.sort()方法来排序。 2. 基本类型数组排序:基本类型数组也可以使用Arrays.sort()...

    数组与字符串.docx

    ### 数组与字符串知识点 #### 一、数组的基本操作 数组是编程中常见的数据结构之一,在Java中,数组被广泛应用于...这些知识点不仅有助于初学者理解Java中数组和字符串的使用方法,也为进一步学习提供了实践基础。

    12道不错的数组例题

    - `Arrays.binarySearch()`方法可用于已排序数组的二分查找,返回元素的索引。如果数组未排序,先调用`Arrays.sort()`。 6. **数组复制与拷贝**: - `System.arraycopy()`方法用于复制数组的一部分或全部到另一个...

Global site tag (gtag.js) - Google Analytics