tun Lets nehme ich die folgende Liste von KartenWie kann ich eine sekundäre Sortierung auf einer Liste von Karten
[{id:1,count:2,name:xyz},
{id:2,count:3,name:def},
{id:3,count:2,name:abc},
{id:4,count:5,name:ghj}
]
habe ich zuerst von Graf diese Karte sortiert werden soll und dann nach Name:
Wunsch Ausgang:
[{id:3,count:2,name:abc},
{id:1,count:2,name:xyz},
{id:2,count:3,name:def},
{id:4,count:5,name:ghj}
]
ich habe versucht, die nach der ersten Sortierung durchzuführen, aber nicht in der Lage mit dem Namen sortiert werden, nachdem sie durch Zählung Sortierung
Collections.sort(list, new Comparator() {
public int compare(Object o1, Object o2) {
return ((Comparable) ((Map.Entry) (o1)).getValue())
.compareTo(((Map.Entry) (o2)).getValue());
}
Hat das sogar kompiliert? Raw 'Comparator' Typ benötigt' Object' Parameter, nicht 'Integer'. – Codebender
Ich habe es nicht kompiliert. Ich habe nur eine Idee davon gegeben, was ich zu tun versuche –
Was ist die Darstellung von Wert in Ihrer Karte. Ich nehme an, Key ist Integer. Aber wie speichern Sie die Werte? Weil für den gegebenen Schlüssel zwei Dinge im Wert sind. – YoungHobbit