public class HashTable {

  String[] arrayTable;
  int arraySize;

  public HashTable(int size) {
    this.arraySize = size;
    this.arrayTable = new String[size];
  }

  /* Simple (and bad) hash function. Maps values to same index for that value. */
  private void hashFunctionIndex(String newElementVal) {
    this.arrayTable[Integer.parseInt(newElementVal)] = newElementVal;

    System.out.println(
      "arrayTable"+ "[" + Integer.parseInt(newElementVal) +"]: "
      + this.arrayTable[Integer.parseInt(newElementVal)]
    );

    return;
  }

  /* Better hash function. Uses modulus index. */
  private void hashFunctionMod(String newElementVal) {
    int arrayIndex = Integer.parseInt(newElementVal) % this.arrayTable.length;
    System.out.println(
      "Modulus index= " + arrayIndex + " for value " + newElementVal
    );

    /* If theres a collision, search for the next
    available spot using linear probing. */
    while(arrayTable[arrayIndex] != null) {
      ++arrayIndex;
      System.out.println("Collision for " + newElementVal + " try: " + arrayIndex + " instead");
      arrayIndex %= arraySize;
    }

    arrayTable[arrayIndex] = newElementVal;

  }

  public static void main(String[] args) {
    HashTable ht = new HashTable(17);
    ht.hashFunctionMod("35");
    ht.hashFunctionMod("40");
    ht.hashFunctionMod("45");
    ht.hashFunctionMod("50");
    ht.hashFunctionMod("55");

    ht.hashFunctionMod("60");
    ht.hashFunctionMod("65");
    ht.hashFunctionMod("70");
    ht.hashFunctionMod("75");
    ht.hashFunctionMod("80");

    ht.hashFunctionMod("85");
    ht.hashFunctionMod("90");
    ht.hashFunctionMod("95");
    ht.hashFunctionMod("100");
    ht.hashFunctionMod("105");
  }
}

@@ -1172,16 +1172,475 @@
 ;%0A%0A  %7D%0A%0A
+  private String findKey(String key) %7B%0A    // the hash function%0A    int arrayIndexHash = Integer.parseInt(key) %25 this.arrayTable.length;%0A    while(arrayTable%5BarrayIndexHash%5D != null) %7B%0A      if(arrayTable%5BarrayIndexHash%5D == key) %7B%0A        return arrayTable%5BarrayIndexHash%5D;%0A      %7D%0A      arrayIndexHash++;%0A      arrayIndexHash %25= arraySize; /* Goto the beginning of the table if not found */%0A    %7D%0A    /* They key is not in the table */%0A    return null;%0A  %7D%0A%0A
   public

Implement hash table find key function.