public class StringBinarySearch { public static void main(String[] args) { String[] myList = {"abe", "becky", "clair", "henry", "norm", "sam"}; int r; r = binarySearch(myList, "becky"); System.out.println("r = " + r); } public static int binarySearch(String[] list, String key) { int low = 0; int high = list.length - 1; while ( low <= high ) { int mid = (low + high) / 2; if (key.compareTo(list[mid]) == 0) return mid; else if (key.compareTo(list[mid]) < 0) high = mid - 1; else low = mid + 1; } return -1; // Not found } }