Hash-Tabelle

maltor

Mitglied
Hash_Tabelle

In h.put("Fritz","f");
Wie kann ich den Wert "f" hinter den key Fritz ausgeben oder wie komme ich an diesen Wert heran ? Oder wird der Wert nicht mehr gespeichert?


Beispiel:

Code:
import java.util.*;

public class Listing1507
{
  public static void main(String[] args)
  {
    HashMap h = new HashMap();

    //Pflege der Aliase
    h.put("Fritz","f.mueller@test.de");
    h.put("Fritz","f");
    h.put("Franz","fk@b-blabla.com");
    h.put("Paula","user0125@mail.uofm.edu");
    h.put("Lissa","lb3@gateway.fhdto.northsurf.dk");

    //Ausgabe
    Iterator it = h.entrySet().iterator(); 
    while (it.hasNext()) {
      Map.Entry entry = (Map.Entry)it.next();
      System.out.println(
        (String)entry.getKey() + " --> " +
        (String)entry.getValue()
      );
    } 
  }
}
 
Zuletzt bearbeitet:
ich habe mich versehen an h.put("Fritz","f"); komme ich heran, wird doch ausgegeben, aber "Fritz","f.mueller@test.de" wird überschrieben. Kann man das umgeben. Ich möchte das die Beiden Werte hinter den key eingefügt werden. Oder kann man das nur durch eine Liste hinter dem key erreichen.
 
Code:
      import java.util.*;

public class a
{
  public static void main(String[] args)
  {
       
      Map map = new HashMap();
   
              map.put("A","a1");
              map.put("A","a2");
   
              System.out.println(map.get("A")); 
              System.out.println(map.get("A"));
    } 
  }

soll a1 und a2 ausgeben, gibt aber a2 a2 aus
 
Toms Lösung mit der Liste ist eine gute Alternative.

In Deinem Fall würde ich allerdings zu einem eigenen Objekt raten, das Dir dann gezielt z.B. die Email-Adresse liefert. Dieses Objekt steckst Du dann zusammen mit einem Key in die Map. Alles andere wäre "Kuddel-Muddel".;)
 
Hallo!

In Deinem Fall würde ich allerdings zu einem eigenen Objekt raten, das Dir dann gezielt z.B. die Email-Adresse liefert. Dieses Objekt steckst Du dann zusammen mit einem Key in die Map. Alles andere wäre "Kuddel-Muddel".;)
Ich denke das haengt vom Use Case ab. Wenn die Daten die mit einem Key in der Map assoziiert sind immer den gleichen Aufbau haben und von vorherein bekannt ist welche Daten gespeichert werden kann man eine eigene Klasse anlegen. Andernfalls wuerde ich die dynamische Loesung vorziehen.

Gruss Tom
 
Diesen möchte ich umsetzen

Code:
      class Mitarbeiter 
{

    int personalnummer;
    String nachname;
    String vorname;
    int geburtsjahr; 
    String wohnort;
    String gehalt;
    String abteilung;
    
    Mitarbeiter (int personalnummer, String nachname, int geburtsjahr,  String wohnort, String gehalt, String abteilung )
    {
        this.personalnummer = personalnummer;
        this.nachname = nachname;
        this.vorname = vorname;
        this.geburtsjahr = geburtsjahr;
        this.wohnort = wohnort;
        this.gehalt = gehalt;
        this.abteilung = abteilung;
    
    }







}

Code:
      class Mitarbeiterverwaltung
{

     Mitarbeiterverwaltung()
     {
     
     }
     
     private HashMap map_wohnort = new HashMap();
    private HashMap map_abteilung = new HashMap();
    private HashMap map_geburtsjahr = new HashMap();     
     
     
     void add(Mitarbeiter m)
     {
     
     }
     
     Mitarbeiter remove(int persnr)
     {
     
     }
     
     Mitarbeiter lookup(int presnr)
     {
     
     }
     
     List<Mitarbeiter> lookupWohnort(String wohnort)
     {
     
     }
     
     List<Mitarbeiter> lookupAbteilung(String abtlg)
     {
     
     }
     
     List<Mitarbeiter> lookupGeburtstjahr(int gebJahr)
     {
     
     }


}
 
Zurück