>  기사  >  Java  >  Java 문서 해석: Arrays 클래스의 BinarySearch() 메서드에 대한 자세한 설명

Java 문서 해석: Arrays 클래스의 BinarySearch() 메서드에 대한 자세한 설명

PHPz
PHPz원래의
2023-11-03 14:35:36729검색

Java 문서 해석: Arrays 클래스의 BinarySearch() 메서드에 대한 자세한 설명

Java 문서 해석: Arrays 클래스의 BinarySearch() 메서드에 대한 자세한 설명, 특정 코드 예제가 필요합니다.

Java에서 Arrays 클래스는 배열을 조작하는 데 편리한 여러 메서드를 제공합니다. 그 중 하나는 정렬된 배열에서 지정된 요소의 인덱스를 찾는 데 사용할 수 있는 BinarySearch() 메서드입니다. 이 기사에서는 Arrays 클래스의 BinarySearch() 메소드를 자세히 소개하고 사용법을 설명하는 특정 코드 예제를 제공합니다.

binarySearch() 메서드 구문

binarySearch() 메서드 구문은 다음과 같습니다.

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

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

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

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

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

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

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

where, a code>는 정렬된 배열이고 <code>key는 찾을 요소입니다.

binarySearch() 메서드의 반환 값

요소가 발견되면 해당 요소의 인덱스가 반환되고, 그렇지 않으면 요소가 삽입되어야 하는 위치인 음수가 반환됩니다. 요소가 삽입되는 위치를 계산하려면 음수를 사용하세요. 🎜🎜이진 검색의 기본 원리🎜🎜binarySearch() 메서드의 구체적인 사용법을 소개하기 전에 먼저 이진 검색의 기본 원리를 이해해 보겠습니다. 🎜🎜이진 검색은 정렬된 배열에서 특정 요소를 찾는 데 사용되는 검색 알고리즘입니다. 기본 아이디어는 배열을 두 부분으로 나눈 다음 찾고 있는 요소를 중간 요소와 비교하는 것입니다. 비교를 바탕으로 찾고 있는 요소가 배열의 어디에 있는지 확인할 수 있습니다. 그런 다음 이 부분에 대한 이진 검색을 진행하여 더 짧은 시간에 특정 요소를 찾을 수 있습니다. 🎜🎜binarySearch() 메서드의 구체적인 사용법🎜🎜binarySearch() 메서드를 사용하기 전에 배열이 정렬되었는지 확인해야 합니다. 배열이 정렬되지 않으면 결과는 정의되지 않습니다. 🎜🎜다음 예제에서는 BinarySearch() 메서드를 사용하여 배열에서 특정 요소를 찾는 방법을 보여줍니다. 🎜rrreee🎜이 코드를 실행하면 다음이 출력됩니다. 🎜rrreee🎜이 예에서는 먼저 a 정수 배열을 정의합니다. Arrays 클래스의 sort() 메서드를 사용하여 배열을 정렬한 다음 배열에서 특정 요소 key를 찾습니다. 우리는 key 요소의 인덱스를 찾고 그 결과를 콘솔에 출력하기 위해 BinarySearch() 메소드를 사용합니다. 🎜🎜찾고 있는 요소가 배열에 없으면 BinarySearch() 메서드는 배열의 오름차순을 유지하기 위해 요소를 배열에 삽입해야 하는 위치를 나타내는 음수를 반환합니다. 예를 들어 위의 예를 변경하여 25 요소를 찾으면 출력은 다음과 같습니다. 🎜rrreee🎜이 예에서 binarySearch(a, key)를 반환합니다. >-5, ~ -5를 사용하여 요소가 삽입된 위치로 변환하면 4를 얻습니다. 이는 25 요소를 삽입하려는 경우를 의미합니다. 를 배열에 추가하려면 인덱스 4에 삽입해야 합니다. 🎜🎜Summary🎜🎜이 글에서는 Arrays 클래스의 BinarySearch() 메소드에 대해 자세히 설명하고 사용법을 시연했습니다. 이 방법은 매우 간단하지만 정렬된 배열에서 특정 요소를 빠르게 찾을 수 있기 때문에 많은 실제 응용 프로그램에서 매우 유용합니다. 정렬된 배열에서 요소를 찾아야 하는 경우 BinarySearch() 메서드를 사용해 보세요. 🎜

위 내용은 Java 문서 해석: Arrays 클래스의 BinarySearch() 메서드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.