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