Rumah >Java >javaTutorial >Bagaimana untuk Mencari Elemen dalam Tatasusunan Java Tanpa indexOf()?

Bagaimana untuk Mencari Elemen dalam Tatasusunan Java Tanpa indexOf()?

Linda Hamilton
Linda Hamiltonasal
2024-11-14 15:22:02483semak imbas

How to Find Elements in Java Arrays Without indexOf()?

Mencari Elemen dalam Tatasusunan Java

Walaupun penggunaan tatasusunan yang meluas dalam Java, pengaturcara baru sering menghadapi kesukaran untuk mencari elemen tertentu dalam struktur ini. Kekurangan kaedah indexOf yang kelihatan mudah setanding dengan yang terdapat dalam koleksi boleh membingungkan.

Mengatasi Ketiadaan Array.indexOf()

Walaupun tatasusunan Java tidak mempunyai kaedah indeks intrinsik, terdapat alternatif yang sesuai. Kelas utiliti Arrays menawarkan dua pendekatan praktikal:

1. Menggunakan Arrays.asList() untuk Tatasusunan Tidak Diisih

Untuk tatasusunan tidak diisih yang tidak terdiri daripada primitif, pendekatan berikut boleh digunakan:

java.util.Arrays.asList(theArray).indexOf(o)

Kaedah ini menukar tatasusunan kepada senarai, menjadikannya sesuai dengan kaedah indexOf yang diwarisi daripada Senarai.

2. Carian Perduaan untuk Tatasusunan Diisih

Apabila berurusan dengan tatasusunan yang diisih, memanfaatkan carian binari memberikan peningkatan prestasi yang besar:

java.util.Arrays.binarySearch(theArray, o)

Carian binari dengan cekap mengenal pasti kedudukan elemen atau sisipan yang dijangkakan indeks jika tidak ada.

Nota untuk Primitif Tatasusunan

Adalah penting untuk diingat bahawa apabila tatasusunan terdiri daripada nilai primitif, pendekatan pertama menggunakan asList() mungkin tersilap menyusun tetapi menghasilkan hasil yang salah. Dalam kes sedemikian, pendekatan alternatif seperti melaksanakan gelung tersuai adalah perlu.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Elemen dalam Tatasusunan Java Tanpa indexOf()?. 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