当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Collections binarySearch()用法及代码示例


Collections类binarySearch()方法

用法:

    public static int binarySearch(List l, Type key_ele);
    public static int binarySearch(List l, Type key_ele, Comparator com);
  • binarySearch() 方法可在java.util包。
  • binarySearch(List l, Type key_ele) 方法用于在二进制搜索的帮助下在给定列表 (l) 中查找给定对象 (key_ele)。
  • binarySearch(List l, Type key_ele, Comparator com) 方法用于在给定列表 (l) 中查找给定对象 (key_ele),并且列表必须根据定义的 Comparator 对象进行排序。
  • 这些方法可能会在查找给定元素时抛出异常。
    ClassCastException: 当给定的参数 List 元素相互不可比时,可能会抛出此异常。
  • 这些是静态方法,可以通过类名访问,如果我们尝试使用类对象访问这些方法,那么我们也不会收到任何错误。

参数:

  • 在第一种情况下,“binarySearch(List l, Type key_ele)”
    • List l- 表示列表对象。
    • Type key_ele- 表示要搜索的关键元素。
  • 在第二种情况下,“binarySearch(List l, Type key_ele, Comparator com)”
    • List l- 表示列表对象。
    • Type key_ele- 表示要搜索的关键元素。
    • Comparator com- 表示 Comparator 对象,我们将该值设置为 null,这意味着它是自然顺序或默认顺序。

返回值:

在这两种情况下,方法的返回类型都是int,它返回给定的位置key_ele(key element)当它存在于给定列表中时。

例:

// Java program to demonstrate the example 
// of binarySearch() method of Collections

import java.util.*;

public class BinarySearchOfCollections {
    public static void main(String args[]) {
        // Instantiates an array list object
        List < Integer > arr_l = new ArrayList < Integer > ();

        // By using add() method is to add
        // objects in an array list
        arr_l.add(20);
        arr_l.add(10);
        arr_l.add(40);
        arr_l.add(30);
        arr_l.add(50);

        // Display ArrayList
        System.out.println("ArrayList:" + arr_l);

        // By using binarySearch(arr_l,30,null) method is
        // to search the the given object 30 in an arr_l
        // based on defined comparator object (null) and
        // here we are using null so list must be sorted
        // in an ascending order
        int indices = Collections.binarySearch(arr_l, 30, null);

        // Display indices
        System.out.println("Collections.binarySearch(arr_l,30,null):" + indices);

        // By using binarySearch(arr_l,30) method is
        // to search the the given object 30 in an arr_l
        // so list must be sorted in an natural or ascending order
        indices = Collections.binarySearch(arr_l, 30);

        // Display indices
        System.out.println("Collections.binarySearch(arr_l,30):" + indices);
    }
}

输出

ArrayList:[20, 10, 40, 30, 50]
Collections.binarySearch(arr_l,30,null):-3
Collections.binarySearch(arr_l,30):-3


相关用法


注:本文由纯净天空筛选整理自Preeti Jain大神的英文原创作品 Java Collections binarySearch() Method with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。