[JAVA] 3 Höchsten Integer Values aus einer HashMap
Hallo
und zwar habe ich das so gemacht
HashMap<String, Integer> p = new HashMap<>();
p.put("Hallo", 5);
...
Nun möchte ich die 3 Höchsten Werte in einer neuen HashMap sortiert haben.
HashMap<String, Integer> p = new HashMap<>();
Und ich habe keine Ahnung wie das geht...
Kann mir jemand helfen?
DankeStern garantiert
3 Antworten
Oh, du brauchst die keys auch?
http://docs.oracle.com/javase/7/docs/api/java/util/Set.html
Wer die Javadocs nicht liest, sollte nicht glauben, dass er programmieren kann.
Du schreibst wenig zum Rest von dem Problem. Mit dem was da steht würde ich zum einen keine HashMap, sondern eine TreeMap nehmen, da diese eine Sortierung auf dem Schlüssel hat (sprich auch das SortedMap Interface implementiert). Dann würde ich Integer und String vertauschen, so dass der Integer der Schlüssel ist. Und aus dieser Map kann man dann ganz einfach vom Ende her die drei größten Werte auslesen.
Kann mir jemand helfen?
Wie würdest du es machen, wenn du nur den höchsten Wert finden würdest? Im Grunde selbes Prinzip.
Wie würdest du es denn machen? xD Es wäre Zumindest mal ne Idee sinnvoll, wo man Eigenleistung erkennt.
So wie ich es machen würde hätte ich aber nicht mehr die Keys :(