How to search element in Character Array using Binary Search in Java?
Declaration :
1 |
public static int binarySearch(char[] a, char key) |
Explanation :
Purpose | The java.util.Arrays.binarySearch(char[] a char key) method searches the specified array of chars 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 char array char arr[] = {'t', 'q', 'r', 'p','s'}; // Sorting array list Arrays.sort(arr); // Printing Sorted Array List System.out.println("The Sorted Char Array is:"); for (char ch : arr) { System.out.println("Character = " + ch); } // Enter character to be searched char val = 's'; int index= Arrays.binarySearch(arr, val); System.out.println("The Index of " + val + " is : " + index); } } |
Output of Program :
1 2 3 4 5 6 7 |
The Sorted Char Array is: Character = p Character = q Character = r Character = s Character = t The Index of s is : 3 |