Ich habe eine Liste der Karten. Welches ich den Schlüssel jeder Karte nicht vorhersagen kann. Schlüssel kann eine zweistellige Zahl sein, die sich entsprechend der Anfrage ändert. Die Werte enthalten eindeutige Werte von Anfrage zu Anfrage. Jetzt muss ich diese Liste der Karten nach dem Wert jedes Schlüssels sortieren. Ich habe schon so etwas wie unten versucht,Sortieren Sie eine Liste der Karten nach Wert in Java
List<Map<String,String>> listOfMaps = new ArrayList<>();
Map<String,String> map1 = new HashMap<>();
Map<String,String> map2 = new HashMap<>();
map1.put("key1","value1");
map2.put("key2","value1");
listOfMaps.add(map1);
listOfMaps.add(map2);
sort(listOfMaps);
Collections.sort(listOfMaps, new Comparator<Map<String, String>>() {
public int compare(final Map<String, String> o1, final Map<String, String> o2) {
return o1.get("key").compareTo(o2.get("key"));
}
});
Da „Schlüssel“ kann von der Karte unterscheiden sein, abzubilden scheint, ich hätte nicht den obigen Code verwenden. Ich habe auch diese Beispiele versucht.
How to Sort a List of Maps by two Categories?
Sorting list of maps based on a value
Da ich kann den Schlüssel nicht vorhersagen, könnte ich mit dieser Antwort aus dieser post.Can irgendeine Hilfe finden ?.
Sie alle Ihre Karten nur einen Eintrag enthalten? –
Ich verstehe nicht ganz - vielleicht können Sie einen Testfall hinzufügen, der eine Beispieleingabe zeigt und welche Ausgabe Sie erwarten? – RAnders00
Sortieren Sie also die Schlüssel in allen Karten oder die Werte? Und sortieren Sie alle Karten in der Liste? – pczeus