How to search element in Integer Array using Binary Search in Java?
Declaration :
1 |
public static int binarySearch(int[] a, int key) |
Explanation :
Purpose | The java.util.Arrays.binarySearch(int[] a int key) method searches the specified array of ints for the specified value using the binary search algorithm.The array must be sorted before making this call.If it is not sorted the results are undefined. |
Parameters | a ===> This is the array to be searched. |
key ===> This is the value to be searched for. | |
Return Value | This method returns index of the search key if it is contained in the array else it returns (-(insertion point) - 1). The insertion point is the point at which the key would be inserted into the array: the index of the first element greater than the key or a.length if all elements in the array are less than the specified key. |
Exception | NA |
Java Program : Example
Below example will explain java.util.Arrays.binarySearch() method.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
package com.c4learn; import java.util.Arrays; public class ArrayDemo { public static void main(String[] args) { // Initialize unsorted int array int arr[] = {35,25,5,15,45}; // Sorting array Arrays.sort(arr); // Printing sorted int array list System.out.println("The sorted int array is:"); for (int num : arr) { System.out.println("Array Element is " + num); } // Enter the value to be searched int val = 25; int retVal = Arrays.binarySearch(arr,val); System.out.println("The index of element 25 is : " + retVal); } } |
Output of Program :
1 2 3 4 5 6 7 |
The sorted int array is: Array Element is 5 Array Element is 15 Array Element is 25 Array Element is 35 Array Element is 45 The index of element 25 is : 2 |