Rumah > Java > javaTutorial > Bagaimanakah kaedah Arrays.binarySearch() dalam Java mencari elemen tertentu dalam tatasusunan tertib?

Bagaimanakah kaedah Arrays.binarySearch() dalam Java mencari elemen tertentu dalam tatasusunan tertib?

王林
Lepaskan: 2023-11-18 14:29:07
asal
905 orang telah melayarinya

Bagaimanakah kaedah Arrays.binarySearch() dalam Java mencari elemen tertentu dalam tatasusunan tertib?

Kelas Tatasusunan di Java menyediakan satu siri kaedah mudah untuk menangani tatasusunan, termasuk kaedah binarySearch() untuk mencari elemen dalam tatasusunan tertib. Artikel ini memperincikan cara menggunakan kaedah ini dan menyediakan contoh kod yang sepadan.

Di Java, kelas Array ialah kelas alat yang menyediakan satu siri kaedah statik untuk mengendalikan dan memproses tatasusunan. Kaedah binarySearch() adalah salah satu daripadanya dan digunakan untuk mencari elemen tertentu dalam tatasusunan tertib. Tandatangan kaedah

binarySearch() adalah seperti berikut:

public static int binarySearch(Object[] a, Object key)
Salin selepas log masuk

Parameter kaedah ini termasuk tatasusunan tertib jenis Objek dan kunci elemen untuk ditemui. Ia mengembalikan nilai jenis int yang mewakili nilai indeks elemen yang ditemui jika elemen itu tidak dijumpai, ia mengembalikan nombor negatif yang menunjukkan kedudukan di mana ia harus dimasukkan.

Berikut ialah contoh konkrit yang menunjukkan cara menggunakan kaedah binarySearch() untuk mencari elemen tertentu.

import java.util.Arrays;

public class BinarySearchExample {
    public static void main(String[] args) {
        // 定义一个有序数组
        int[] arr = {2, 4, 6, 8, 10, 12, 14};

        // 使用binarySearch()方法查找元素8
        int index = Arrays.binarySearch(arr, 8);

        // 输出结果
        if (index >= 0) {
            System.out.println("元素8在数组中的索引位置为:" + index);
        } else {
            System.out.println("元素8不在数组中,应该插入的位置为:" + (-index - 1));
        }
    }
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan arr tatasusunan tertib dan menggunakan kaedah binarySearch() untuk mencari elemen 8. Jika elemen ditemui, kedudukan indeksnya dalam tatasusunan dikembalikan jika tidak dijumpai, nombor negatif dikembalikan menunjukkan kedudukan di mana ia harus dimasukkan.

Jalankan kod di atas, hasil output ialah:

元素8在数组中的索引位置为:3
Salin selepas log masuk

bermakna kedudukan indeks unsur 8 dalam tatasusunan ialah 3.

Jika elemen yang kita cari tiada dalam tatasusunan, contohnya, mencari elemen 5, hasil larian ialah:

元素5不在数组中,应该插入的位置为:2
Salin selepas log masuk

bermakna elemen 5 tiada dalam tatasusunan dan harus dimasukkan ke kedudukan indeks 2 untuk mengekalkan susunan tatasusunan.

Kaedah binarySearch() menggunakan algoritma carian binari di bahagian bawah, yang memerlukan tatasusunan mesti dipesan. Jika tatasusunan tidak tertib, hasil pulangan kaedah binarySearch() tidak dapat diramalkan.

Apabila menggunakan kaedah binarySearch(), kita harus memberi perhatian kepada perkara berikut:

  1. Susun atur mesti dipesan, jika tidak, hasilnya tidak dapat diramalkan.
  2. Jenis elemen yang ditemui mesti konsisten dengan jenis elemen tatasusunan, jika tidak ralat penyusunan akan berlaku.
  3. Jika terdapat berbilang elemen yang sama dalam tatasusunan, kaedah binarySearch() tidak menjamin untuk mengembalikan indeks elemen padanan yang pertama.

Ringkasnya, kaedah Arrays.binarySearch() dalam Java ialah cara yang cekap dan mudah untuk mencari elemen tatasusunan tersusun. Kami hanya perlu menyediakan tatasusunan tertib dan elemen yang ingin kami cari, dan kami boleh mendapatkan hasilnya dengan cepat. Pada masa yang sama, kita juga perlu memberi perhatian kepada keteraturan tatasusunan dan ketekalan jenis elemen yang ditemui.

Atas ialah kandungan terperinci Bagaimanakah kaedah Arrays.binarySearch() dalam Java mencari elemen tertentu dalam tatasusunan tertib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan