J'essaie de trier une carte dans Groovy qui a des cartes comme valeur. Je veux parcourir la carte et imprimer les valeurs triées par les valeurs lastName et firstName. Ainsi, dans l'exemple suivant:Tri des cartes dans les cartes par valeur
def m =
[1:[firstName:'John', lastName:'Smith', email:'[email protected]'],
2:[firstName:'Amy', lastName:'Madigan', email:'[email protected]'],
3:[firstName:'Lucy', lastName:'B', email:'[email protected]'],
4:[firstName:'Ella', lastName:'B', email:'[email protected]'],
5:[firstName:'Pete', lastName:'Dog', email:'[email protected]']]
les résultats souhaités seraient:
[firstName:'Ella', lastName:'B', email:'[email protected]']
[firstName:'Lucy', lastName:'B', email:'[email protected]']
[firstName:'Pete', lastName:'Dog', email:'[email protected]']
[firstName:'Amy', lastName:'Madigan', email:'[email protected]']
[firstName:'John', lastName:'Smith', email:'[email protected]']
J'ai essayé m.sort {it.value.lastName & & it.value.firstName} et m. sort {[it.value.lastName, it.value.firstName]}. Le tri par m.sort {it.value.lastName} fonctionne mais ne fait pas le tri par firstName.
Quelqu'un peut-il aider avec cela, très apprécié, merci!
Je pense que c'est un double de [cette autre question] (http://stackoverflow.com/q/9559309/581845). Pourrions-nous les marquer comme doublons et peut-être les fusionner sous un titre plus général et descriptif? – epidemian