Source of 18.6.java


  1: /** Searches an array for anEntry. */
  2: public static <T> boolean inArray(T[] anArray, T anEntry)
  3: {
  4:    return search(anArray, 0, anArray.length - 1, anEntry);
  5: } // end inArray
  6: 
  7: // Searches anArray[first] through anArray[last] for desiredItem.
  8: // first >= 0 and < anArray.length.
  9: // last >= 0 and < anArray.length.
 10: private static <T> boolean search(T[] anArray, int first, int last, T desiredItem)
 11: {
 12:    boolean found;
 13:    if (first > last)
 14:       found = false; // No elements to search
 15:    else if (desiredItem.equals(anArray[first]))
 16:       found = true;
 17:    else
 18:       found = search(anArray, first + 1, last, desiredItem);
 19:       
 20:    return found;
 21: } // end search
 22: // Version 4.0