Heim Java javaLernprogramm Wie findet die Methode Arrays.binarySearch() in Java bestimmte Elemente in einem geordneten Array?

Wie findet die Methode Arrays.binarySearch() in Java bestimmte Elemente in einem geordneten Array?

Nov 18, 2023 pm 02:29 PM
java binarysearch Geordnetes Array.

Wie findet die Methode Arrays.binarySearch() in Java bestimmte Elemente in einem geordneten Array?

Die Arrays-Klasse in Java bietet eine Reihe praktischer Methoden für den Umgang mit Arrays, einschließlich der Methode „binarySearch()“ zum Suchen von Elementen in einem geordneten Array. Dieser Artikel beschreibt die Verwendung dieser Methode und stellt entsprechende Codebeispiele bereit.

In Java ist die Arrays-Klasse eine Toolklasse, die eine Reihe statischer Methoden zum Betreiben und Verarbeiten von Arrays bereitstellt. Die Methode „binarySearch()“ ist eine davon und wird verwendet, um ein bestimmtes Element in einem geordneten Array zu finden. Die Signatur der Methode

binarySearch() lautet wie folgt:

public static int binarySearch(Object[] a, Object key)
Nach dem Login kopieren

Die Parameter dieser Methode umfassen ein geordnetes Array a vom Typ Object und einen zu durchsuchenden Elementschlüssel. Es gibt einen Wert vom Typ int zurück, der den Indexwert des gefundenen Elements darstellt. Wenn das Element nicht gefunden wird, gibt es eine negative Zahl zurück, die die Position angibt, an der es eingefügt werden soll.

Das Folgende ist ein konkretes Beispiel, das zeigt, wie die Methode „binarySearch()“ verwendet wird, um bestimmte Elemente zu finden.

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));
        }
    }
}
Nach dem Login kopieren

Im obigen Code definieren wir ein geordnetes Array arr und verwenden die Methode „binarySearch()“, um Element 8 zu finden. Wenn das Element gefunden wird, wird seine Indexposition im Array zurückgegeben. Wenn es nicht gefunden wird, wird eine negative Zahl zurückgegeben, die die Position angibt, an der es eingefügt werden soll.

Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet:

元素8在数组中的索引位置为:3
Nach dem Login kopieren

bedeutet, dass die Indexposition von Element 8 im Array 3 ist.

Wenn sich das gesuchte Element nicht im Array befindet, beispielsweise wenn Element 5 gefunden wird, lautet das laufende Ergebnis:

元素5不在数组中,应该插入的位置为:2
Nach dem Login kopieren

bedeutet, dass Element 5 nicht im Array ist und an Indexposition 2 eingefügt werden sollte, um das beizubehalten Reihenfolge des Arrays.

Die Methode „binarySearch()“ verwendet den binären Suchalgorithmus unten, der erfordert, dass das Array geordnet sein muss. Wenn das Array ungeordnet ist, ist das Rückgabeergebnis der Methode „binarySearch()“ unvorhersehbar.

Bei der Verwendung der Methode „binarySearch()“ sollten wir auf folgende Punkte achten:

  1. Das Array muss geordnet sein, sonst ist das Ergebnis unvorhersehbar.
  2. Der gefundene Elementtyp muss mit dem Array-Elementtyp übereinstimmen, andernfalls tritt ein Kompilierungsfehler auf.
  3. Wenn das Array mehrere identische Elemente enthält, garantiert die Methode „binarySearch()“ nicht, dass sie den ersten passenden Elementindex zurückgibt.

Zusammenfassend lässt sich sagen, dass die Methode Arrays.binarySearch() in Java eine effiziente und bequeme Möglichkeit ist, geordnete Array-Elemente zu finden. Wir müssen nur ein geordnetes Array und die Elemente bereitstellen, die wir finden möchten, und können die Ergebnisse schnell erhalten. Gleichzeitig müssen wir auch auf die Ordnung des Arrays und die Konsistenz der gefundenen Elementtypen achten.

Das obige ist der detaillierte Inhalt vonWie findet die Methode Arrays.binarySearch() in Java bestimmte Elemente in einem geordneten Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Quadratwurzel in Java Quadratwurzel in Java Aug 30, 2024 pm 04:26 PM

Quadratwurzel in Java

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Perfekte Zahl in Java

Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

Zufallszahlengenerator in Java

Armstrong-Zahl in Java Armstrong-Zahl in Java Aug 30, 2024 pm 04:26 PM

Armstrong-Zahl in Java

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Weka in Java

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

Fragen zum Java Spring-Interview

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Smith-Nummer in Java

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Brechen oder aus Java 8 Stream foreach zurückkehren?

See all articles