Метод binarySearch
Метод binarySearch класса Arrays выполняет
бинарный поиск заданного значения в отсортированном
массиве и возвращает индекс найденного элемента.
В первый параметр мы передаем массив, в котором
выполняется поиск, во второй - значение, которое
нужно найти. Если элемент не найден, метод возвращает
отрицательное число - точку вставки, вычисляемую
по формуле -(точка вставки) - 1.
Массив обязательно должен быть отсортирован
перед вызовом метода, иначе результат будет
неопределенным.
Синтаксис
Arrays.binarySearch(array, value)
Пример
Давайте найдем индекс элемента 3 в массиве
целых чисел:
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
int[] arr = {1, 2, 3, 4, 5};
int res = Arrays.binarySearch(arr, 3);
System.out.println(res);
}
}
Результат выполнения кода:
2
Пример
Давайте найдем индекс элемента 6, которого
нет в массиве:
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
int[] arr = {1, 2, 3, 4, 5};
int res = Arrays.binarySearch(arr, 6);
System.out.println(res);
}
}
Результат выполнения кода:
-6
Пример
Давайте найдем индекс строки "c" в массиве
строк:
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
String[] arr = {"a", "b", "c", "d", "e"};
int res = Arrays.binarySearch(arr, "c");
System.out.println(res);
}
}
Результат выполнения кода:
2