Heim  >  Artikel  >  Java  >  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?

王林
王林Original
2023-11-18 14:29:07901Durchsuche

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)

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));
        }
    }
}

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

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

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!

Stellungnahme:
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