Hashtable oder was sonst?

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo zusammen,

ich stehe vor einen kleinen Problem. Ich speichere Daten in einen Hashtable zwischen. Etwa so:

Code:
Hashtable hash = new Hashtable();
hash.put("A",new Double(100));
hash.put("B",new Double(50));
hash.put("C",new Double(200));

Jetzt möchte ich die Daten auslesen und ausgeben, jedoch soll nach dem Wert absteigend sortiert werden.
Kann ich in einem Hashtable nach dem Wert (100) und nicht nach dem Key sortieren?
Wenn nicht, gibt es etwas anderes das das kann? Schlüssel und Wert muss ich fix zuordnen können und über den Schlüssel greife ich auf die jeweiligen Einträge zu.

Besten Dank
 
G

Gast

Gast
Besten Dank,

aber das hilft mir irgendwie nicht weiter. Da ich da durch den Code nicht so ganz durchblicke. Bin halt ein Anfänger *sorry*

Ich könnte einfach Values und Keys tauschen und dann sortieren. Aber das kann ja nicht sinn der Sache sein oder?
 
G

Gast

Gast
So ich habe nochmal etwas rumgelesen und habe jetzt folgenden Lösungsansatz. Ich schreibe einen Comparator der das Sortieren übernehmen soll und nutze kein Hashtable sondern ein TreeMap.

Jetzt stehe ich nur etwas auf dem Schlauch. Mein TreeMap besteht aus dem KEY und einer VALUE. Nur wie greife ich jetzt in compare auf den Value zu bzw. o1 was ist das dann? Ist das der TreeMap? Ist das der Key?

Code:
public int compare( Object o1, Object o2 )
{

}
 

SamHotte

Top Contributor
Gast hat gesagt.:
Jetzt stehe ich nur etwas auf dem Schlauch. Mein TreeMap besteht aus dem KEY und einer VALUE. Nur wie greife ich jetzt in compare auf den Value zu bzw. o1 was ist das dann? Ist das der TreeMap? Ist das der Key?

Deine o1 und o2 sind die values, die miteinander verglichen werden. Wenn du im Konstruktor der TreeMap keinen Comparator angibst, wird die so genannte natürliche Ordnung verwendet, also das, was in deinen Werten bei a.compareTo(b) rauskommt. Wenn du compareTo() nicht überschrieben hast in deinen Values, werden vermutlich die Referenzen (quasi die Speicheradressen) verglichen, also alles etwas chaotisch sortiert.

Du kannst aber einen eigenen Comparator schreiben, der nach einem bestimmten Feld sortiert (wie in dem Thread "Values sortieren"). Den übergibst du der TreeMap, und alles wird gut.
 
G

Gast

Gast
Danke für den Hinweis. Eine Extra Klasse dafür finde ich etwas zu übertrieben.

Den Ansatz:
"Leg eine TreeMap an mit den Werten als Schüssel und umgekehrt."

Geht ja auch nicht, da die Werte ggf. Öfter auftauchen können
hash.put("A",new Double(10));
hash.put("B",new Double(10));

Geht der Ansatz mit dem TreeMap und dem Comparator?
 

SamHotte

Top Contributor
Probier mal, so einen Comparator deiner TreeMap zu übergeben:
Code:
public class DoubleComparator 
    implements Comparator 
{ 

  /** 
   * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) 
   */ 
  public int compare (Object o1, Object o2) 
  { 
    if (o1 == null || o2 == null) { 
      throw new IllegalArgumentException("Einer der Parameter ist null."); 
    } 
    if ((o1 instanceof Double) || (o2 instanceof Double)) { 
      Double d1 = (Double) o1; 
      Double d2 = (Double) o2; 
      return d1.compareTo(d2); 
    } 
    throw new IllegalArgumentException("Falscher Parametertyp" 
        + ". o1: " + o1.getClass().toString() + ", o2: " 
        + o2.getClass().toString()); 
  } 

}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O HashTable kann ohne Performance-Verlust in Multithreaded-Anwendungen eingesetzt werden. Java Basics - Anfänger-Themen 6
B Hashtable Java Basics - Anfänger-Themen 3
H Klassen Auf eine Hashtable aus mehreren Klassen zugreifen Java Basics - Anfänger-Themen 12
arti28 Verkaufsautomat Enumerations HashTable Java Basics - Anfänger-Themen 1
D Hashtable Java Basics - Anfänger-Themen 4
K Hashtable mit eigenen Konstruktor Java Basics - Anfänger-Themen 2
K NullPointerException in der Hashtable Java Basics - Anfänger-Themen 4
T Collections Hashtable gezielt auslesen. Java Basics - Anfänger-Themen 13
B HashTable & Strings übergeben Java Basics - Anfänger-Themen 4
A Input/Output Hashtable Ausgabe Java Basics - Anfänger-Themen 1
P Key anhand von Value finden (Hashtable) Java Basics - Anfänger-Themen 3
S Hashtable Java Basics - Anfänger-Themen 2
T Werte in Hashtable neu zuweisen Java Basics - Anfänger-Themen 3
P 2D Welt, Hashtable Java Basics - Anfänger-Themen 5
D Hashtable/Hashmap Java Basics - Anfänger-Themen 2
D In Hashtable suchen Java Basics - Anfänger-Themen 3
yampi Objektsammlung - Hashtable, Vector, Arrays Java Basics - Anfänger-Themen 8
L Hashtable nicht wirklich geeignet für mein Vorhaben? Java Basics - Anfänger-Themen 3
P | zu einer hashtable hinzufügen Java Basics - Anfänger-Themen 7
D java.lang.outofmemoryerror java heap space bei Hashtable Java Basics - Anfänger-Themen 3
D Hashtable Value(Array) in String und dann Ausgeben Java Basics - Anfänger-Themen 23
S Fortsetzung meiner frage (hashtable) danke vorab an alle Java Basics - Anfänger-Themen 3
S BITTE UM HILFE HASHTABLE/import java.util.Hashtable in Ecplipse Java Basics - Anfänger-Themen 12
A Verschachtelte Hashtable ausgeben. Java Basics - Anfänger-Themen 3
D Eine Liste wie ne HashTable, nur mit auslesbaren Key . . . Java Basics - Anfänger-Themen 31
G Hashtable füllen Java Basics - Anfänger-Themen 2
G Gesamte Hashtable ausgeben Java Basics - Anfänger-Themen 3
L Arbeiten mit Vectoren in einer Hashtable Java Basics - Anfänger-Themen 2
A Unterschied zwischen HashMap und Hashtable Java Basics - Anfänger-Themen 20
G Sortierter Hashtable? Java Basics - Anfänger-Themen 3
D Eine abgeänderte Hashtable erstellen Java Basics - Anfänger-Themen 3
K Probleme mit java.util.hashtable Java Basics - Anfänger-Themen 10
G Hashtable -> Ordnerstruktur Java Basics - Anfänger-Themen 10
M Hashtable gleichzeitigen Zugriff verhindern Java Basics - Anfänger-Themen 11
C Problem mit Hashtable Java Basics - Anfänger-Themen 6
M Hashtable an Datenbank schicken Java Basics - Anfänger-Themen 3
F Hashtable mit String[] als value Java Basics - Anfänger-Themen 2
F invertierung einer Hashtable Java Basics - Anfänger-Themen 4
P HashTable auslesen und in createDocument ausgeben Java Basics - Anfänger-Themen 4
T Warum kann Hashtable get Methode nicht funktionieren? Java Basics - Anfänger-Themen 3
N NullPointerException bei meiner Hashtable Java Basics - Anfänger-Themen 2
M Hashtable oder Hashmap mit Inhalt vorbelegen Java Basics - Anfänger-Themen 2
C Hashtable-get Java Basics - Anfänger-Themen 2
K Hashtable mischen (shuffeln)? Java Basics - Anfänger-Themen 4
H Objekte in einer Hashtable am einfachsten sortieren Java Basics - Anfänger-Themen 13
G Hilfe! Wie Kreise in Hashtable ablegen und wieder auslesen? Java Basics - Anfänger-Themen 2
G unterschied hashtable und hashmap? Java Basics - Anfänger-Themen 3
A Hashtable - 3 Suchmöglichkeiten Java Basics - Anfänger-Themen 4
G hashtable und unsafe, unchecked Code Java Basics - Anfänger-Themen 3
L Hashtable Verständnis Frage Java Basics - Anfänger-Themen 4
R Hashtable ohne Values Java Basics - Anfänger-Themen 5
S Value von ein Hashtable collectionen Java Basics - Anfänger-Themen 3
S Hashtable & Datei Java Basics - Anfänger-Themen 4
W Hashtable Integer als Value Java Basics - Anfänger-Themen 6
S Hashtable probleme Java Basics - Anfänger-Themen 6
N ein array in der hashtable Java Basics - Anfänger-Themen 6
W Hashtable oder was Anderes Java Basics - Anfänger-Themen 8
I Warum ließt er den Inhalt der Hashtable nicht? Java Basics - Anfänger-Themen 5
G die keys einer Hashtable sortieren Java Basics - Anfänger-Themen 15
D Hashtable gibt eigenartiges wieder Java Basics - Anfänger-Themen 2
G hashtable jeden wert mit trim() bearbeiten Java Basics - Anfänger-Themen 3
K Objekte und deren Anzahl speichern, hashtable? Java Basics - Anfänger-Themen 9
P hashtable Java Basics - Anfänger-Themen 8
V Hashtable ausgeben Java Basics - Anfänger-Themen 4
V Suchen und ausgeben - Hashtable Java Basics - Anfänger-Themen 3
J HashTable Java Basics - Anfänger-Themen 4
G Inhalt einer Hashtable ausgeben Java Basics - Anfänger-Themen 2
A Hashtable als Rückgabewert Java Basics - Anfänger-Themen 3
N maximale Anzahl Schlüssel in einem Hashtable Java Basics - Anfänger-Themen 7
T Hashtable und Vektor Java Basics - Anfänger-Themen 3
R Hashtable wird falsch ausgegeben Java Basics - Anfänger-Themen 5
B Hashtable.containsKey Problem Java Basics - Anfänger-Themen 13
P Neue Java v8 JRE Version nicht über alte drüber installierbar: Wie sonst? Java Basics - Anfänger-Themen 7
C String überprüfen, ob gültig, sonst wiederholung der eingabe Java Basics - Anfänger-Themen 9
S Threads nacheinander ablaufen lassen, da sonst... Java Basics - Anfänger-Themen 9
O Applet sonst wo aufrufen Java Basics - Anfänger-Themen 3
M ArrayList, HashMap oder was sonst? Java Basics - Anfänger-Themen 16
G Variable nur ändern wenn. sonst alten Wert behalten Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben