import java.io.*; class Table7 implements Table { // Table class, data stored in hash table // Handles collisions with separate chaining private Cell[] array; final static int SIZE=41; public Table7() { array = new Cell[SIZE]; } public boolean delete(String key) { int hash = hash(key); if(array[hash]==null) return false; else if(array[hash].first.equalKey(key)) { array[hash]=array[hash].next; return true; } else { Cell ptr; for(ptr=array[hash]; ptr!=null&&!(ptr.next.first.equalKey(key)); ptr=ptr.next); if(ptr==null) return false; else { ptr.next = ptr.next.next; return true; } } } public void add(KeyObject obj) { int hash = hash(obj.getKey()); array[hash] = new Cell(obj,array[hash]); } public KeyObject retrieve(String key) { int hash = hash(key); if(array[hash]==null) return null; else { Cell ptr; for(ptr=array[hash]; ptr!=null&&!ptr.first.equalKey(key); ptr=ptr.next); if(ptr==null) return null; else return ptr.first; } } public void print(PrintStream out) { for(int i=0;i