alle Antworten darauf hindeutet, dass Sie ein LinkedHashMap
von einem HashMap
technisch korrekt sind erstellen können, aber nicht gebe dir die gewünschten Ergebnisse :-(
Natürlich kannst du aus einer HashMap
eine LinkedHashMap
erstellen, aber es ist nicht gua rested, dass die die gleiche Reihenfolge haben wird, die Ihr Original tat.
Das Problem ist, dass Ihre serialisiert wird, wenn es in den persistenten Speicher als eine einfache ungeordnete Map
gespeichert wird, die nicht die Reihenfolge der einzelnen Elemente beharrt. Wenn Sie dann das Objekt aus dem persistenten Speicher extrahieren, wird es als eine Ebene HashMap
zurückgegeben, und es hat die "Bestellung" verloren (für die Sie eine für in erster Linie wollten). Wenn Sie dann einen LinkedHashMap
aus dem zurückgegebenen HashMap
erstellen, wird sich die Bestellung höchstwahrscheinlich vom Original unterscheiden.
Um dies richtig durchzuführen, sollten Sie wahrscheinlich Ihre in ein geordnetes Array von Objekten konvertieren und dieses sortierte Array im persistenten Speicher ablegen. Sie können dann das bestellte Array von Objekten aus dem persistenten Speicher zurücklesen und die in der richtigen Reihenfolge neu erstellen. Grundsätzlich müssen Sie die selbst serialisieren und deserialisieren.
Weitere Informationen finden Sie unter my answer to this question.
Danke für die Herausforderung. Ich liebe eine nicht-triviale Frage, die ein bisschen Graben erfordert. –
@DavidWasser, Vielen Dank für Ihre ausführliche Antwort, aus irgendeinem Grund nicht alle Leute dachten, es sei eine anständige Frage. –
Ich habe keine Ahnung woher die Downvotes kommen. Das hat mich eigentlich überrascht. –