Sto cercando di ordinare una mappa in Groovy con mappe come valore. Voglio eseguire un'iterazione sulla mappa e stampare i valori ordinati per i valori lastName e firstName. Quindi, nel seguente esempio:Ordinamento delle mappe all'interno delle mappe in base al valore
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]']]
i risultati desiderati sarebbero: m.sort
[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]']
Ho provato {it.value.lastName & & it.value.firstName} e m. ordina {[it.value.lastName, it.value.firstName]}. L'ordinamento per m.sort {it.value.lastName} funziona ma non ordina per firstName.
Qualcuno può aiutare con questo, molto apprezzato, grazie!
Credo che questo sia un duplicato di [quest'altra domanda] (http://stackoverflow.com/q/9559309/581845). Potremmo contrassegnarli come duplicati e magari unirli sotto un titolo più generale e descrittivo? – epidemian