How to search element in Byte Array using Binary Search in Java?
Declaration :
1 |
public static int binarySearch(byte[] a, byte key) |
Explanation :
Purpose | The java.util.Arrays.binarySearch(byte[] a byte key) method searches the specified array of bytes 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 byte array byte arr[] = {10,20,15,22,35}; // Sorting array Arrays.sort(arr); // Print all elements System.out.println("The sorted byte array is:"); for (byte number : arr) { System.out.println("Element = " + number); } // entering the value to be searched byte searchVal = 35; int retVal = Arrays.binarySearch(arr,searchVal); System.out.println("The index of element 35 is : " + retVal); } } |
Output of Program :
1 2 3 4 5 6 7 |
The sorted byte array is: Element = 10 Element = 15 Element = 20 Element = 22 Element = 35 The index of element 35 is : 4 |