Datentypen Key/Value sortieren

Bernd Hohmann

Top Contributor
Eigentlich ganz einfach: Irgendeine in Java 6 vorhandene Datenstruktur in die ich ein "<Long>offset, <Int>size" stecken und nach dem ersten Parameter sortieren kann.

Zzt. löse ich das über eine HashMap wo ich mir die Keys in eine ArrayList geben lasse, die sortiere und mit dem Ergebnis wieder über die ursprüngliche Hashmap iteriere.

Aber das kanns ja nicht wirklich sein.

Bernd
 

drcreep

Mitglied
Hi,

nimm eine [JAPI]java.util.TreeMap[/JAPI], damit hast du schon alles was du möchtest.

Gruß,
drcreep

[EDIT]Zu spät! ;)[/EDIT]
 
H

hüteüberhüte

Gast
Aber das kanns ja nicht wirklich sein.

Wenn du einen schnellen Zugriff auf die Schlüssel benötigst, dann schon. Eine TreeMap hält (alle) ihre Schlüssel glaub ich auch nicht geordnet. Alternativ mit zwei Datenstrukturen arbeiten, z.B. einer Liste und einer Map

Edit: Doch, "based NavigableMap implementation. The map is sorted according to the natural ordering of its keys, or by a Comparator provided at map creation time, depending on which constructor is used." Hab mich vertan
 
Zuletzt bearbeitet von einem Moderator:

Bernd Hohmann

Top Contributor
TreeMap impementiert NavigableMap, aber mir erschliesst sich nicht so recht, wie man eine TreeMap sortiert?

Etwa wirklich die TreeMap nach List casten und nach Collections.sort(...) stopfen? Edit: das geht ja gar nicht, obwohl Eclipse da recht grosszügig war.

Bernd
 
G

Gast2

Gast
Eine TreeMap ist von sich aus schon sortiert. Fügst du ein neues Element ein, wird es entsprechend einsortiert.
Dafür müssen deine Element Comparable implementieren, oder du gibst der TreeMap einen Comparator mit.
 

Bernd Hohmann

Top Contributor
Eine TreeMap ist von sich aus schon sortiert. Fügst du ein neues Element ein, wird es entsprechend einsortiert. Dafür müssen deine Element Comparable implementieren, oder du gibst der TreeMap einen Comparator mit.

Ok, wird Long schon tun. Wie iteriere ich jetzt vom kleinsten bis zum grössten Long durch und komme an Long wie Integer? "get(i)" liefert ja kein Entry zurück.

Bernd
 
H

hüteüberhüte

Gast
Java:
for (Long l : tm.navigableKeySet()) {
  ...
  z.B. tm.get(l);
  ...
}
 
G

Gast2

Gast
Du kannst ganz normal über das entry set iterieren:
Java:
for (Map.Entry<Long, Integer> entry : map.entrySet()) {
	// ...
}
 

Bernd Hohmann

Top Contributor
Danke für die Hilfe, mir ist eben eingefallen dass ich neben dem aktuellen Long noch den nächsten brauche.

Große Geschichte kurz gefasst: Ich will hier einen byte-Cache prüfen der über eine Liste der Sorte "offset, length" verwaltet wird. Die Prüfroutine soll in dieser Teilprüfung nichts anderes machen als offset+length gegen den nächsten offset auf Überschneidung zu prüfen.

Dafür bräuchte ich halt irgendeine Liste, die nach <offset> sortiert ist und wahlfreien Zugriff (zumindest auf den aktuellen und nächsten Offset) ermöglicht.

Bernd
 
H

hüteüberhüte

Gast
Sry, meine Antwort war schon wieder daneben, ja, entrySet wäre für so etwas viel praktischer
 

drcreep

Mitglied
Hi,

du hast aber schon einmal in die API geschaut, oder?! Kannst du doch mit TreeMap alles machen! Siehe
Code:
Map.Entry<K,V> higherEntry(K key)
!

Und das schreibe ich, ohne die TreeMap jemals selber benutzt zu haben!

Gruß,
drcreep
 

Bernd Hohmann

Top Contributor
Gerade weil ich in die API reingeschaut habe wird mir eher übel als besser.

Was passiert, wenn im TreeMap zwei Long mit gleichem Wert sind und ich higherEntry aufrufe? Ich bekomme vermutlich den nächst grösseren Key ohne den gleichen (vorhandenen) Key zu fetchen.

Ist mir alles zu Joker für die Prüfroutine, ich lass das jetzt so wie es ist.

Danke für die wohlwollende Hilfe,

Bernd
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Erste Schritte TreeMap nach Value sortieren Java Basics - Anfänger-Themen 2
Todesbote Map (Key=String; Value = Vector) Value/Vector sortieren Java Basics - Anfänger-Themen 13
S Value sortieren Java Basics - Anfänger-Themen 3
G TreeMap sortieren über ArrayList als Value Java Basics - Anfänger-Themen 9
S HashMap mehrere Keys zu einem Value Java Basics - Anfänger-Themen 3
I JSON - cannot deserialize from Object value Java Basics - Anfänger-Themen 16
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
J Java call by Value oder Reference Java Basics - Anfänger-Themen 35
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
D String value change listener Java Basics - Anfänger-Themen 2
G Java Object value und entity? Java Basics - Anfänger-Themen 2
ms_cikar Den Wert einer Hex. value bestimmten. Java Basics - Anfänger-Themen 8
R Boolean value ohne Kontrollstrukturen ändern Java Basics - Anfänger-Themen 5
F Entity vs value Java Basics - Anfänger-Themen 3
U Worin besteht der Unterschied zwischen call by reference und call by value? Java Basics - Anfänger-Themen 14
R Value von einem JSON-Objekt ausgeben Java Basics - Anfänger-Themen 4
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
K Value eines HashMaps in einer HashMap wiedergeben. Java Basics - Anfänger-Themen 5
E jProgressbar, 6 Versuche, welche value angeben ? Java Basics - Anfänger-Themen 3
G Klassen Call by Value auch bei Objekten? Java Basics - Anfänger-Themen 2
E Hash map Value Wert hochzuholen/ändern Java Basics - Anfänger-Themen 7
J Variablen Komsiche System.in.read() return-value? Java Basics - Anfänger-Themen 3
N JFreeChart - Value und veriable Zeitachse Java Basics - Anfänger-Themen 15
J Open Office Property Value mit Java aufrufen Java Basics - Anfänger-Themen 0
H call by reference & value Java Basics - Anfänger-Themen 14
R Property Value als null setzen Java Basics - Anfänger-Themen 1
B Compiler-Fehler Hilfe!!! required variable ; found value Java Basics - Anfänger-Themen 4
M Arrays als return Value? Java Basics - Anfänger-Themen 2
S Integer/Value-Paar in Prio-Queue ohne Comparator Java Basics - Anfänger-Themen 5
T Schleifenindex "by reference" / "by value" Java Basics - Anfänger-Themen 13
V Methoden key value Parameter Java Basics - Anfänger-Themen 11
C Probleme bei einem Stringvergleich - Attribut "value" unterscheidet sich Java Basics - Anfänger-Themen 9
F HashMap nach kleinstem Value durchsuchen Java Basics - Anfänger-Themen 11
D TreeMap: Höheren Key ermitteln und den Value liefern Java Basics - Anfänger-Themen 3
B Call by Value/Reference Java Basics - Anfänger-Themen 4
B Variablen unique Value Java Basics - Anfänger-Themen 12
R Key/Value ohne Maps? Java Basics - Anfänger-Themen 2
S Warnung in Eclipse: unassigned closeable value Java Basics - Anfänger-Themen 20
J Objectreferenz statt value an Methode uebergeben? Java Basics - Anfänger-Themen 2
K HashMap auf leere Key-Value-Paare prüfen Java Basics - Anfänger-Themen 14
C Collections String[] als value in HashMap Java Basics - Anfänger-Themen 6
P Key anhand von Value finden (Hashtable) Java Basics - Anfänger-Themen 3
B JavaSkript Form-Tag Value & Post Java Basics - Anfänger-Themen 6
M String( char[] value ) Java Basics - Anfänger-Themen 3
feardorcha Java von Kopf bis Fuß "Java ist Pass-by-Value" Java Basics - Anfänger-Themen 6
M Value-returing Methode funktioniert nicht Java Basics - Anfänger-Themen 4
O Was bedeutet public class value? Java Basics - Anfänger-Themen 3
M jSpinner: nur angezeigte Value auslesen? Java Basics - Anfänger-Themen 3
F Erste Schritte return (char)toUnsignedInt(value) Java Basics - Anfänger-Themen 2
J unexpected type variable/value Java Basics - Anfänger-Themen 2
F Hilfe Regular Expression Grouping Value Java Basics - Anfänger-Themen 3
K unexpected type variable/value Java Basics - Anfänger-Themen 7
turmaline Duration Value Java Basics - Anfänger-Themen 8
T Enum - Key als Value ermitteln Java Basics - Anfänger-Themen 7
K java pass by value Java Basics - Anfänger-Themen 29
capgeti Datentypen Static generic return value von Subclass? Java Basics - Anfänger-Themen 9
A ein map key/value"problem" Java Basics - Anfänger-Themen 9
A Regex get Value Java Basics - Anfänger-Themen 5
D Key und Value aus hashMap speichern Java Basics - Anfänger-Themen 7
M HashMap-Value | Array Java Basics - Anfänger-Themen 3
N Methode erfüllt nicht den zweck (Call by value) Java Basics - Anfänger-Themen 17
0 Call by value Java Basics - Anfänger-Themen 3
H TreeMap.remove(value) - und nicht mit key! Geht das? Java Basics - Anfänger-Themen 18
H Abhängigkeiten (key-value ) Java Basics - Anfänger-Themen 19
P Value einer Konstante lesen Java Basics - Anfänger-Themen 2
lumo Magic Value?! Java Basics - Anfänger-Themen 19
S HashMap: Rückgabe des key zu bestimmten value Java Basics - Anfänger-Themen 3
K Maps mit veränderlichen Daten als Value Objekte Java Basics - Anfänger-Themen 3
D Hashtable Value(Array) in String und dann Ausgeben Java Basics - Anfänger-Themen 23
? key - value Struktur in ArrayList Java Basics - Anfänger-Themen 3
G Container für [key,value] elemente ? Java Basics - Anfänger-Themen 7
G Überprüfen ob einen Array einen Value enthält Java Basics - Anfänger-Themen 13
C Passing Reference by Value Java Basics - Anfänger-Themen 4
A Integer Value Error beim Start Java Basics - Anfänger-Themen 5
G jProgressBar value aus anderer Klasse heraus verändern Java Basics - Anfänger-Themen 7
F Hashtable mit String[] als value Java Basics - Anfänger-Themen 2
L HashMap Key<->Value vertauschen Java Basics - Anfänger-Themen 5
T Klasse String enthält Methode value? Java Basics - Anfänger-Themen 2
T Suche über mehrere Felder value = key = value Java Basics - Anfänger-Themen 3
S Value von ein Hashtable collectionen Java Basics - Anfänger-Themen 3
D Map (HashMap) sortiern nach den Value? Java Basics - Anfänger-Themen 16
W Hashtable Integer als Value Java Basics - Anfänger-Themen 6
M value von Komponenten erhalten Java Basics - Anfänger-Themen 3
L Value aus einer Map holen Java Basics - Anfänger-Themen 10
R kleinster Value in HashMap Java Basics - Anfänger-Themen 12
H HashMap initialisieren<Key, Value>? Java Basics - Anfänger-Themen 9
B map value auslesen Java Basics - Anfänger-Themen 2
V Beginner question with check true value??? Java Basics - Anfänger-Themen 3
S call by reference vs. call by value - pls help Java Basics - Anfänger-Themen 7
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J HashSet mit Comparable sortieren Java Basics - Anfänger-Themen 13
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
O Sortieren mit Insertion Sort Java Basics - Anfänger-Themen 3
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben