1: // @author Frank M. Carrano, Timothy M. Henry
2: // @version 5.0
3: private static <T extends Comparable<? super T>>
4: boolean binarySearch(T[] anArray, int first, int last, T desiredItem)
5: {
6: boolean found;
7: int mid = first + (last - first) / 2;
8:
9: if (first > last)
10: found = false;
11: else if (desiredItem.equals(anArray[mid]))
12: found = true;
13: else if (desiredItem.compareTo(anArray[mid]) < 0)
14: found = binarySearch(anArray, first, mid - 1, desiredItem);
15: else
16: found = binarySearch(anArray, mid + 1, last, desiredItem);
18: return found;
19: } // end binarySearch
21: public static <T extends Comparable<? super T>> boolean inArray(T anEntry)
22: {
23: return binarySearch(anArray, 0, anArray.length - 1, anEntry);
24: } // end inArray