import java.util.*; class ETable4 implements ETable { // Table class, data stored in hash table // Handles collisions with linear probing // Returns an Enumeration private KeyObject[] array; final static int SIZE=41; public ETable4() { array = new KeyObject[SIZE]; } public boolean delete(String key) { int i = hash(key); while(array[i]!=null&&!array[i].equalKey(key)) i=(i+1)%SIZE; if(array[i]==null) return false; else { array[i] = new Deleted(); return true; } } public void add(KeyObject obj) { int i = hash(obj.getKey()); while(array[i]!=null && !(array[i] instanceof Deleted)) i=(i+1)%SIZE; array[i]=obj; } public KeyObject retrieve(String key) { int i = hash(key); while(array[i]!=null&&!array[i].equalKey(key)) i=(i+1)%SIZE; return array[i]; } public Enumeration getEnumeration() { return new MyEnumeration(); } private static int hash(String key) { int val=0; key = key.toLowerCase(); for(int i=0; i