Here we are going to find a specific element in a string array using Binary Search Algorithm.

## String Binary Search :

Searching a string using binary search algorithm is something tricky when compared to searching a number. Because we can compare 2 numerics directly, but in the case of strings it’s not as simple as number comparison.

Here we will see how we can do this in Binary Search.

Input: String[] a = { “AAA”, “BBB”, “CCC”, “DDD”, “EEE”, “FFF”, “GGG” };

Element to find: String key = “CCC”;

BinarySearchString.java
``````public class BinarySearchString {

static String[] a = { "AAA", "BBB", "CCC", "DDD", "EEE", "FFF", "GGG" };
static int min = 0;
static int max = a.length - 1;
static int mid;
static String key = "CCC";

public static void main(String[] args) {
System.out.println("Key Found at : " + stringBinarySearch() + " position");
}

public static int stringBinarySearch() {
while (min <= max) {
mid = (min + max) / 2;
if (a[mid].compareTo(key) < 0) { min = mid + 1; } else if (a[mid].compareTo(key) > 0) {
max = mid - 1;
} else {
return mid;
}
}
return -1;
}
}
``````

Output:

``Key Found at : 2 position``

Happy Learning 🙂