tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von zeja
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
1019
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    trench140 trench140 ist offline Mitglied Silber
    Registriert seit
    Mar 2008
    Beiträge
    76
    Hallo allerseits,

    ich programmiere gerade eine kleinere Anwendung und stehe gerade vor folgendem Problem:

    Um meine Daten zu speichern habe ich mich an der Struktur von SQL-Datenbanken/Tabellen orientiert. Eine direkte Verwendung von SQL kam nicht in Frage da ich, falls sich das Tool als nützlich erweist, es auch gerne öffentlich machen möchte und keinem zumuten möchte, einen SQL-Server installieren zu müssen.

    Auf "Tabellen"-Ebene habe ich nun beispielsweise folgende Konstrukte:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    public class DatabaseDateEntry {
        private int id;
        private String dateValue;
        
        public DatabaseDateEntry() {
            
        }
    ...
    }
     
    ...
     
    public class DatabaseDateTable {
        private HashMap<Integer, DatabaseDateEntry> dateEntries;
        private int count;
        
        public DatabaseDateTable() {
            count = 0;
            dateEntries = new HashMap<Integer, DatabaseDateEntry>();
        }
    ...
    }

    Heißt, eine "Tabelle" besteht aus einer bestimmten Anzahl an "Einträgen", welche die gewünschten Informationen beinhalten. Jeder Eintrag hat hierbei eine eindeutige ID und einen Wert, in der HashMap refernziert diese ID das komplette Eintrags-Objekt.

    Mein Problem ist nun, dass sowohl schnell überprüfen möchte, ob ein bestimmter Wert in der HashMap enthalten ist und dass ich basierend auf der Id schnell auf einzelne Einträge zugreifen möchte. Der letzte Fall ist ja dadurch abgehandelt, dass die Id als Key der HashMap gehandhabt wird. Wie aber kriege ich den ersten Fall hin? Aktuell fällt mir nur die quick&dirty-Methode ein:
    Alle Einträge der HashMap auslesen, bis eine Übereinstimmung erzielt wird.
    Eine weitere Möglichkeit wäre es, den Wert als Key zu nehmen, dann habe ich aber das gleiche Problem für die IDs.

    Gibt es hier irgendeine bessere Möglichkeit? Ist hier die HashMap vielleicht schlecht gewählt? Sollte ich eine andere Datenstruktur verwenden?

    Die oben gezeigten Konstrukte sind nur exemplarisch, mir ist klar, dass ich bei Einträgen mit nur zwei Werten die Zuordnung <ID,Object> in <ID,Value> ändern könnte, ich habe aber auch Eintrags-Typen, die eben mehr als nur einen Value haben können.
     

  2. #2
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Öhm man muss keinen SQL-Server installieren nur um eine Datenbank anzubieten. Mit Java DB/Derby oder HSQLDB kannst du Datenbanken embedded in deiner Java Applikation verwenden und auch mit ausliefern.
    trench140 bedankt sich. 

  3. #3
    trench140 trench140 ist offline Mitglied Silber
    Registriert seit
    Mar 2008
    Beiträge
    76
    Vielen lieben Dank, ich wusste nicht, dass so etwas geht, ich hab jetzt etwas mit Derby rumgespielt und es ist wirklich sehr komfortabel, das werde ich ab jetzt nutzen.
     

  4. #4
    Avatar von vogella
    vogella vogella ist offline Mitglied Bronze
    Registriert seit
    Jun 2007
    Ort
    Heidelberg
    Beiträge
    49
    Hallo,

    ich bin mir nicht sicher, ob ich Deine Frage richtig verstanden habe, aber
    in der HashMap kannst Du über contains überprüfen, ob der Wert existiert.

    HashMap<Integer, String> map= new HashMap<Integer, String>();
    map.containsKey(key)

    War das Deine Frage?

    Viele Grüße, Lars
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 02.07.10, 00:24
  2. Antworten: 2
    Letzter Beitrag: 29.03.10, 09:23
  3. Effiziente Stringverarbeitung
    Von mccae im Forum Java
    Antworten: 27
    Letzter Beitrag: 20.11.09, 09:58
  4. suche Skript für automatisierte Suche nach bestimmten Link auf einer Internetseite
    Von sushie2k im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 1
    Letzter Beitrag: 22.03.07, 05:31
  5. Suche: Suche günstiges Single - Flirt Communityscript
    Von Arman im Forum Internet, DSL & Flatrate
    Antworten: 1
    Letzter Beitrag: 02.10.03, 15:33