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