/***************************** HashMapTest.java  ******************************/
import AlgoTools.IO;
import java.util.*;

/** testet die Klasse java.util.HashMap                                       */

public class HashMapTest {

  public static void main (String [] argv) {

    Map <Integer, Person>  h  = new HashMap <Integer, Person> (16);
    
    Person                 p1 = new Person("Lars","Lehmann",12,6,1970);
    Person                 p2 = new Person("Hans","Hutmann",21,7,1974);
    Person                 p3 = new Person("Susi","Sorglos",18,3,1969);

    h.put(4711,p1);
    IO.println(p1 + " wurde mit Schluessel 4711 eingefuegt");

    h.put(4712,p2);
    IO.println(p2 + " wurde mit Schluessel 4712 eingefuegt");
    
    h.put(4713,p3);
    IO.println(p1 + " wurde mit Schluessel 4713 eingefuegt");

    if (h.containsValue(p2)) IO.println(p2 + " ist gespeichert");
                        else IO.println(p2 + " ist nicht gespeichert");

    int k = 4711;
    if (h.containsKey(k)) IO.println("Schluessel " + k + " ist eingetragen");
                     else IO.println("Schluessel " + k + " nicht gefunden");

    Person p = h.get(k);
    IO.println("Schluessel " + k + " gehoert zu Person " + p);

    h.remove(k);
    IO.println("Schluessel " + k + " und sein Wert wurden entfernt");

    IO.println("Inhalt der HashMap wird ausgegeben:");
    IO.println(h);

    IO.println("HashMap wird mit Iterator durchlaufen und Werte ausgegeben:");
    Collection <Person> coll = h.values();
    Iterator <Person> iter = coll.iterator();
    while (iter.hasNext()){
      p = iter.next();
      IO.println(p);
    }
  }
}
