Rumah  >  Artikel  >  Java  >  Tafsiran dokumentasi Java: penerangan terperinci kaedah binarySearch() kelas Arrays

Tafsiran dokumentasi Java: penerangan terperinci kaedah binarySearch() kelas Arrays

PHPz
PHPzasal
2023-11-03 14:35:36670semak imbas

Tafsiran dokumentasi Java: penerangan terperinci kaedah binarySearch() kelas Arrays

Tafsiran dokumentasi Java: Penerangan terperinci kaedah binarySearch() kelas Array, contoh kod khusus diperlukan

Di Java, kelas Arrays menyediakan banyak kaedah mudah untuk mengendalikan tatasusunan. Salah satunya ialah kaedah binarySearch(), yang boleh digunakan untuk mencari indeks elemen tertentu dalam tatasusunan yang diisih. Artikel ini akan memperkenalkan kaedah binarySearch() dalam kelas Array secara terperinci dan menyediakan contoh kod khusus untuk menggambarkan penggunaannya. Sintaks kaedah

binarySearch() kaedah

binarySearch() sintaks kaedah adalah seperti berikut:

public static int binarySearch(Object[] a, Object key)public static int binarySearch(Object[] a, Object key)

其中,a 是一个已排序的数组,key 是要查找的元素。

binarySearch() 方法的返回值

如果找到元素,则该方法返回元素的索引;否则,将返回一个负数,该负数是应该插入元素的位置,可以使用 ~ 负数来计算插入元素的位置。

二分查找的基本原理

在介绍binarySearch()方法的具体用法之前,我们先来了解一下二分查找的基本原理。

二分查找是一种用于查找有序数组中特定元素的搜索算法。其基本思想是将数组划分成两个部分,然后将要查找的元素与中间元素进行比较。根据比较结果,可以确定要查找的元素在数组中的哪一部分。然后,可以继续对这一部分进行二分查找,以便在更少的时间内找到特定元素。

binarySearch()方法的具体用法

在使用binarySearch()方法之前,必须确保数组已经排序。如果数组未排序,则结果将是未定义的。

以下示例演示了如何使用binarySearch()方法在数组中查找特定元素。

import java.util.Arrays;
  
public class BinarySearchExample {
    public static void main(String[] args) {
        int a[] = { 10, 20, 15, 22, 35 };
        Arrays.sort(a);
        System.out.println("Sorted array :: " + Arrays.toString(a));
 
        int key = 22;
 
        int result = Arrays.binarySearch(a, key);
 
        if (result < 0)
            System.out.println(key + " was not found in the array.");
        else
            System.out.println(key + " was found at index " + result);
    }
}

执行此代码将输出以下内容:

Sorted array :: [10, 15, 20, 22, 35]
22 was found at index 3

在这个示例中,我们首先定义了一个整数数组 a。我们使用Arrays类的sort()方法对数组进行排序,然后在数组中查找特定的元素 key。我们使用binarySearch()方法查找元素 key 的索引,并在控制台上输出结果。

如果要查找的元素不在数组中,则binarySearch()方法将返回一个负数,表示应该将元素插入到数组的哪个位置才能保持数组的升序。例如,如果我们将上面的示例更改为查找元素 25,则输出将是:

Sorted array :: [10, 15, 20, 22, 35]
25 was not found in the array.

在这个示例中,binarySearch(a, key) 返回 -5,如果我们使用 ~ -5 将其转换为插入元素的位置,则得到 4,这意味着如果要将元素 25 插入到该数组中,则应将其插入到索引为 4

di mana, a code> ialah tatasusunan yang diisih dan <code>key ialah elemen yang akan ditemui.

Pulangan nilai kaedah binarySearch()

Jika elemen ditemui, kaedah tersebut mengembalikan indeks elemen jika tidak, nombor negatif dikembalikan, iaitu kedudukan di mana elemen perlu dimasukkan nombor negatif untuk mengira kedudukan di mana unsur itu dimasukkan. 🎜🎜Prinsip asas carian binari🎜🎜Sebelum memperkenalkan penggunaan khusus kaedah binarySearch(), mari kita fahami prinsip asas carian binari. 🎜🎜Carian binari ialah algoritma carian yang digunakan untuk mencari elemen tertentu dalam tatasusunan tertib. Idea asas adalah untuk membahagikan tatasusunan kepada dua bahagian dan kemudian membandingkan elemen yang anda cari dengan elemen tengah. Berdasarkan perbandingan, anda boleh menentukan di mana dalam tatasusunan elemen yang anda cari. Anda kemudian boleh meneruskan carian binari pada bahagian ini untuk mencari elemen tertentu dalam masa yang lebih singkat. 🎜🎜Penggunaan khusus kaedah binarySearch()🎜🎜Sebelum menggunakan kaedah binarySearch(), anda mesti memastikan tatasusunan telah diisih. Jika tatasusunan tidak diisih, hasilnya akan tidak ditentukan. 🎜🎜Contoh berikut menunjukkan cara menggunakan kaedah binarySearch() untuk mencari elemen tertentu dalam tatasusunan. 🎜rrreee🎜Melaksanakan kod ini akan mengeluarkan yang berikut: 🎜rrreee🎜Dalam contoh ini, kita mula-mula mentakrifkan tatasusunan integer a. Kami menggunakan kaedah sort() kelas Arrays untuk mengisih tatasusunan dan kemudian mencari elemen tertentu key dalam tatasusunan. Kami menggunakan kaedah binarySearch() untuk mencari indeks elemen key dan mencetak hasilnya pada konsol. 🎜🎜Jika elemen yang anda cari tiada dalam tatasusunan, kaedah binarySearch() akan mengembalikan nombor negatif, menunjukkan di mana elemen perlu dimasukkan ke dalam tatasusunan untuk mengekalkan susunan menaik tatasusunan. Sebagai contoh, jika kita menukar contoh di atas untuk mencari elemen 25, outputnya ialah: 🎜rrreee🎜Dalam contoh ini, binarySearch(a, key) mengembalikan -5, jika kita menggunakan ~ -5 untuk menukarnya kepada kedudukan di mana elemen dimasukkan, kita mendapat 4, yang bermaksud jika kita ingin memasukkan elemen 25 ke dalam tatasusunan, ia harus dimasukkan pada indeks 4. 🎜🎜Ringkasan🎜🎜Dalam artikel ini, kami telah memberikan penjelasan terperinci tentang kaedah binarySearch() kelas Array dan menunjukkan penggunaannya. Walaupun kaedah ini sangat mudah, ia sangat berguna dalam banyak aplikasi praktikal kerana ia boleh mencari elemen tertentu dengan cepat dalam tatasusunan yang diisih. Jika anda perlu mencari elemen dalam tatasusunan yang diisih, cuba gunakan kaedah binarySearch(). 🎜

Atas ialah kandungan terperinci Tafsiran dokumentasi Java: penerangan terperinci kaedah binarySearch() kelas Arrays. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn