• 技术文章 >java >java数组

    binarySearch在java的查找使用

    小妮浅浅小妮浅浅2021-02-01 11:49:27原创4457

    java数组中,查找数组元素是比较基础的操作了,arrays类的binarySearch就是专门实现指定元素的。同时它也属于我们常说的二分法。所以作用的范围是排序过的数组。下面我们就binarySearch的概念、使用注意进行说明,同时分出它的两种返回值情况,最后进行查找的实例分享。

    1.概念

    通过二分法在已经排好序的数组中查找指定的元素,并返回该元素的下标。

    2.使用注意

    此法为二分搜索法,故查询前需要用sort()方法将数组排序,如果数组没有排序,则结果是不确定的。如果数组中含有多个指定值的元素,则无法保证找到的是哪一个。

    3.返回值

    该方法的返回值类型为整型,具体返回值具体分为以下两种情况:

    1)如果数组中存在该元素,则会返回该元素在数组中的下标

    (2)如果数组中不存在该元素,则会返回-(插入点 + 1)

    这里的插入点具体指的是:如果该数组中存在该元素,那个元素在该数组中的下标

    4.实例

    public static void main(String[] args) {
    List<Integer> lists = new ArrayList<Integer>();
    lists.add(3);
    lists.add(6);
    lists.add(8);
    lists.add(7);
    lists.add(1);
    // 原来的集合
    System.out.println("原来的集合:");
    for (Integer str : lists) {
    System.out.print(str + " ");
    }
     
    // 对集合进行排序
    Collections.sort(lists);
    System.out.println("\n排序后的集合:");
    for (Integer str : lists) {
    System.out.print(str + " ");
    }
     
    // 使用binarySearch方法查找集合中的元素
    int i = Collections.binarySearch(lists, 2);
    System.out.println("\n2所在的位置:" + i);
     
    }

    以上就是binarySearch在java的查找使用,在返回值上比较特殊,分出了两种不同的情况,大家在使用时也要先对数组的元素存在进行判断。更多Java学习指路:java数组

    专题推荐:java binarysearch
    上一篇:java中arrays.fill的填充 下一篇:java一维数组赋值的两种方法

    相关文章推荐

    • 递归在java二分查找的使用• java Arrays排序的使用• java中Arrays如何转换list• java Arrays.copyOf实现浅拷贝• java中arrays.fill的填充

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网