Lets Supposons que j'ai la liste suivante des cartesComment puis-je faire un tri secondaire sur la liste des cartes
[{id:1,count:2,name:xyz},
{id:2,count:3,name:def},
{id:3,count:2,name:abc},
{id:4,count:5,name:ghj}
]
Je veux d'abord trier cette carte en nombre et puis par nom:
souhaitee sortie:
[{id:3,count:2,name:abc},
{id:1,count:2,name:xyz},
{id:2,count:3,name:def},
{id:4,count:5,name:ghj}
]
j'ai essayé ce qui suit pour effectuer le premier tri, mais incapable de trier en utilisant le nom après le tri par comptage
Collections.sort(list, new Comparator() {
public int compare(Object o1, Object o2) {
return ((Comparable) ((Map.Entry) (o1)).getValue())
.compareTo(((Map.Entry) (o2)).getValue());
}
Est-ce que cela a même été compilé? Le type brut 'Comparator' nécessite les paramètres' Object', pas 'Integer'. – Codebender
Je ne l'ai pas compilé. Je viens de donner une idée de ce que j'essaie de faire –
Qu'est-ce que la représentation de la valeur dans votre carte. Je suppose que Key est Integer. Mais comment stockez-vous les valeurs? Parce qu'il y a deux choses en valeur pour la clé donnée. – YoungHobbit