"Umsortieren" einer SortMap

PollerJava

Top Contributor
Hallo,

ich habe folgende Ausgangslage:
Java:
final SortedMap<Integer, String> dates = new TreeMap<>();
dates.put(1, "1. Stelle");
dates.put(2, "2. Stelle");
dates.put(3, "3. Stelle");
dates.put(4, "4. Stelle");
Im Frontend wird das so angezeigt in <div>s. Man kann diese divs dann im frontend sortieren (also verschieben wie man will), z.B.:
Code:
original:
1. Stelle    2. Stelle
3. Stelle    4. Stelle

nach dem verschieben:
4. Stelle    3. Stelle
2. Stelle    1. Stelle
im Backend sollte die SortMap dann so aussehen:
Code:
key 1: 4. Stelle
key 2: 3. Stelle
key 3: 2. Stelle
key 4: 1. Stelle
Gibts in Java8 vielleicht eine Möglichkeit bzw. hat jemand eine Idee wie ich das einfach/elegant umsetzen kann?

Vielen Dank!
Poller
 
Zuletzt bearbeitet von einem Moderator:
Ich nehme an diese <div>s sind durch eine Id eindeutig. Was hindert dich daran eine sortierte Liste mit diesen Ids an das Backend weiterzureichen?
Die Map kannst du dann anhand dieser Liste umsortieren.

Für was steht der Integer Key in deiner Map?
Wird dadurch wirklich nur die x.Stelle festgelegt? Wenn ja wäre eine LinkedList vielleicht eine bessere Alternative.

Der Vorteil: Wenn du etwas neues zwischen 2 Stellen verschiebst, dann musst du beim umsortieren nur die "next" (und "prev") der Elemente anppassen (6 Elemente werden geändert). Willst du bei einer Map etwas an die 1.Stelle verschieben, dann musst du alle Element anpassen (da bei allen der Key um 1. erhöht werden sollte).
 

Zurück
Oben