// File: TestHashtable3.java // // Author: Rahul Simha // Created: Sept 23, 1998 // // Illustrates use of library Hashtable // for any object. import java.util.Hashtable; // A class to store in the hashtable. class Person { // Instance data. String name; String nickname; // Constructor. public Person (String nameInit, String nickInit) { name = nameInit; nickname = nickInit; } // Accessor for name: we will use it as a key: public String getName () { return name; } // Overrides Object's toString() public String toString() { return "Person: name=" + name + ", nickname=" + nickname; } } // End of class "Person" public class TestHashtable3 { public static void insert (Hashtable h, Person p) { Person p2 = (Person) h.put (p.getName(), p); if (p2 != null) System.out.println ("Warning: " + p + " replaced " + p2); } public static void main (String[] argv) { Hashtable h = new Hashtable (); insert (h, new Person ("Franco", "Flatulent Franco")); insert (h, new Person ("Gita", "Gluttonous Gita")); insert (h, new Person ("Heinrich", "Hemorrhaging Heinrich")); // When retrieving you get the whole object back. Person p = (Person) h.get ("Heinrich"); System.out.println (p); } }