當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。