ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
20235
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    'GreenDragon' ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    131
    Servus,
    sagt mal wie stell ich das an, dass in meiner HashMap Double-Wert nach größe sortiert werden? Die sollen dann nämlich ausgeben werde also der Schlüssel (double) und der string. Habs vorher versucht alles in eine ArrayList zu packen die kann ich dann auch sortieren lassen [dank dieses Forums] aber das Problem ist dann, dass ich die Double-Werte dann nicht mehr den Strings zu ordnen kann.
    Geändert von 'GreenDragon' (22.04.07 um 16:12 Uhr)
     

  2. #2
    Avatar von zeja
    zeja ist offline Mitglied Diamant
    Registriert seit
    Sep 2006
    Beiträge
    2.959
    Benutz einfach eine TreeMap statt einer HashMap. Eine TreeMap sortiert nach Keys und die Sortierung lässt sich mit Übergabe eines Konstruktors auch modifizieren.
     

  3. #3
    'GreenDragon' ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    131
    funktioniert das mit TreeMap genauso wie mit der HashMap?

    hab mir nämlich folgendes überlegt:
    Ich habe eine ArrayList in der ich die double-Werte eingefügt habe danach habe ich die Liste mit:

    Collections.sort(zwischenWertListe);

    sortieren lassen. Als nächstes habe ich dann die double-Werte mit den dazugehörigen Strings in meine HashMap eingefügt. Nun wollte ich mit diesem Code:

    Iterator<Double> it = zwischenWertListe.iterator();
    while(it.hasNext()) {
    double zahl = it.next();
    String formel = zwischenWertMap.get(zahl);
    System.out.println(formel + " " + it.next());
    }

    die Werte aus der ArrayList die ja doch jetzt sortiert sein müsste als key für meine HashMap eingeben, die wiederum sollte dann den dazu gehörigen String ausspucken. Laut Compiler sollte auch alles gehen doch wenn ich das Prog dann starte dann gibt ne Fehlermeldung:

    NoSuchElementException:
    null (in java.util.AbstractList$Itr)
     

  4. #4
    Avatar von zeja
    zeja ist offline Mitglied Diamant
    Registriert seit
    Sep 2006
    Beiträge
    2.959
    Die TreeMap funktioniert genauso wie eine HashMap beide Map implementieren (schau mal in das javadoc da sieht man das sehr schön)

    Deine Versuche ergeben eine NullPointerException da du zweimal it.next() aufrufst und so bei jedem Durchlauf schon zwei Elemente weiterspringst statt nur einem. So gehst du über das Ende der Liste hinaus.
     

  5. #5
    'GreenDragon' ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    131
    bor geil danke, hab net gewusst wenn zweimal da it.next() steht dass er dann weiter geht! aber danke jetzt läuft es!
    bin nur irgendwie verwundert wieso er die Liste sortiert speichert. Überschreibt diese Methode / Klasse [weiss net was das ist] :

    Collections.sort(zwischenWertListe);

    meine Ursprüngliche ArrayList? Müsste ja eigentlich oder?
     

  6. #6
    Avatar von zeja
    zeja ist offline Mitglied Diamant
    Registriert seit
    Sep 2006
    Beiträge
    2.959
    Tu dir selbst den gefallen und schau mal in die Doku rein: Javadoc. Es ist sehr wichtig zu lernen wie man mit der API umgeht um wirklich programmieren zu lernen.
     

  7. #7
    'GreenDragon' ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    131
    Jetzt hab ich mir die TreeMap schon drei mal durchgelesen und versteh immer noch bahnhof! liegt wohl an meinen englisch kenntnissen. :.(

    habs ja jetzt mit der "Collections.sort(ArrayList)" Methode gemacht doch irgend wie stimmt da was net...

    denn wenn zwei werte in meiner ArrayList den Wert null haben spuckt er mir später beim zugriff auf die HashMap nur einen richtigen Wert (Double) und den dazugehörigen String aus doch beim zweiten Wert kommt da nur noch in der Konsole "null: 0.0" (ohne anführungszeichen) wobei das eher so "2^x : 0.0" (also erst String und dann der Double-Wert) aussehen müsste was ist da schief gelaufen?
    Geändert von 'GreenDragon' (23.04.07 um 22:36 Uhr)
     

  8. #8
    Avatar von zeja
    zeja ist offline Mitglied Diamant
    Registriert seit
    Sep 2006
    Beiträge
    2.959
    Und wie willst du ordentlich programmieren ohne Englisch zu können? Da gehören schon grundlegende Englischkenntnisse hinzu die zumindest das verstehen der API ermöglichen.

    Ansonsten lies es auf deutsch. Ist aber sicher veraltet:
    java.util. deutsch

    Deine zweite Frage habe ich nicht wirklich verstanden. Aber du weisst dass zu jedem Key in einer Map nur ein Wert vorhanden sein kann?
     

Thema nicht erledigt

Ähnliche Themen

  1. HashMap<String,UserStats> sortieren?
    Von gamp im Forum Java
    Antworten: 2
    Letzter Beitrag: 04.10.10, 23:13
  2. string to double
    Von GVille im Forum .NET Café
    Antworten: 4
    Letzter Beitrag: 11.11.09, 22:05
  3. String 2 Double
    Von ToDu im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 20.04.06, 08:30
  4. [C++] double TO string
    Von Mark031969 im Forum C/C++
    Antworten: 11
    Letzter Beitrag: 05.04.05, 22:27
  5. String in Double umwandeln
    Von TobiTo im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 31.03.03, 13:14