Heim > Java > javaLernprogramm > Interpretation der Java-Dokumentation: Detaillierte Beschreibung der Methode „binarySearch()' der Klasse „Arrays'.

Interpretation der Java-Dokumentation: Detaillierte Beschreibung der Methode „binarySearch()' der Klasse „Arrays'.

PHPz
Freigeben: 2023-11-03 14:35:36
Original
750 Leute haben es durchsucht

Interpretation der Java-Dokumentation: Detaillierte Beschreibung der Methode „binarySearch() der Klasse „Arrays.

Interpretation der Java-Dokumentation: Die Methode „binarySearch()“ der Klasse „Arrays“ wird ausführlich erläutert. Es sind spezifische Codebeispiele erforderlich.

In Java bietet die Klasse „Arrays“ viele praktische Methoden zum Betreiben von Arrays. Eine davon ist die Methode „binarySearch()“, mit der der Index eines angegebenen Elements in einem sortierten Array ermittelt werden kann. In diesem Artikel wird die Methode „binarySearch()“ in der Klasse „Arrays“ ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt, um ihre Verwendung zu veranschaulichen.

Syntax der binarySearch()-Methode

Die Syntax der binarySearch()-Methode lautet wie folgt:

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

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

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

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

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

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

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

where, a code> ist ein sortiertes Array und <code>key ist das zu findende Element.

Rückgabewert der Methode „binarySearch()“

Wenn das Element gefunden wird, gibt die Methode den Index des Elements zurück; andernfalls wird eine negative Zahl zurückgegeben, die die Position darstellt, an der das Element eingefügt werden soll negative Zahl, um die Position zu berechnen, an der das Element eingefügt wird. 🎜🎜Grundprinzipien der binären Suche🎜🎜Bevor wir die spezifische Verwendung der Methode „binarySearch()“ vorstellen, wollen wir zunächst die Grundprinzipien der binären Suche verstehen. 🎜🎜Die binäre Suche ist ein Suchalgorithmus, der verwendet wird, um bestimmte Elemente in einem geordneten Array zu finden. Die Grundidee besteht darin, das Array in zwei Teile zu teilen und dann das gesuchte Element mit dem mittleren Element zu vergleichen. Anhand des Vergleichs können Sie feststellen, wo im Array sich das gesuchte Element befindet. Anschließend können Sie in diesem Teil mit einer binären Suche fortfahren, um das spezifische Element in kürzerer Zeit zu finden. 🎜🎜Spezifische Verwendung der Methode „binarySearch()“🎜🎜Bevor Sie die Methode „binarySearch()“ verwenden, müssen Sie sicherstellen, dass das Array sortiert wurde. Wenn das Array nicht sortiert ist, ist das Ergebnis undefiniert. 🎜🎜Das folgende Beispiel zeigt, wie Sie mit der Methode „binarySearch()“ ein bestimmtes Element in einem Array finden. 🎜rrreee🎜Beim Ausführen dieses Codes wird Folgendes ausgegeben: 🎜rrreee🎜In diesem Beispiel definieren wir zunächst ein Array von Ganzzahlen a. Wir verwenden die Methode sort() der Klasse Arrays, um das Array zu sortieren und dann ein bestimmtes Element key im Array zu finden. Wir verwenden die Methode „binarySearch()“, um den Index des Elements key zu finden und das Ergebnis auf der Konsole auszugeben. 🎜🎜Wenn sich das gesuchte Element nicht im Array befindet, gibt die Methode „binarySearch()“ eine negative Zahl zurück, die angibt, wo das Element in das Array eingefügt werden soll, um die aufsteigende Reihenfolge des Arrays beizubehalten. Wenn wir beispielsweise das obige Beispiel ändern, um das Element 25 zu finden, wäre die Ausgabe: 🎜rrreee🎜In diesem Beispiel gibt binarySearch(a, key) -5, wenn wir ~ -5 verwenden, um es in die Position zu konvertieren, an der das Element eingefügt wird, erhalten wir 4, was bedeutet, wenn wir das Element einfügen möchten, 25 in das Array einfügen, sollte es am Index 4 eingefügt werden. 🎜🎜Zusammenfassung🎜🎜In diesem Artikel haben wir die Methode „binarySearch()“ der Klasse „Arrays“ ausführlich erklärt und ihre Verwendung demonstriert. Obwohl diese Methode sehr einfach ist, ist sie in vielen praktischen Anwendungen sehr nützlich, da sie schnell ein bestimmtes Element in einem sortierten Array finden kann. Wenn Sie Elemente in einem sortierten Array suchen müssen, versuchen Sie es mit der Methode „binarySearch()“. 🎜

Das obige ist der detaillierte Inhalt vonInterpretation der Java-Dokumentation: Detaillierte Beschreibung der Methode „binarySearch()' der Klasse „Arrays'.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage