Estoy tratando de ordenar un mapa en Groovy que tiene mapas como valor. Quiero iterar sobre el mapa e imprimir los valores ordenados por los valores de lastName y firstName. Así, en el siguiente ejemplo:Ordenando mapas dentro de los mapas por valor
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:'e[email protected]'],
5:[firstName:'Pete', lastName:'Dog', email:'[email protected]']]
los resultados deseados serían: 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]']
He intentado {it.value.lastName & & it.value.firstName} y m. ordenar {[it.value.lastName, it.value.firstName]}. La ordenación por m.sort {it.value.lastName} funciona pero no se ordena por firstName.
¿Alguien puede ayudar con esto, muy apreciado, gracias!
Creo que esto es un duplicado de [esta otra pregunta] (http://stackoverflow.com/q/9559309/581845). ¿Podríamos marcarlos como duplicados y quizás fusionarlos bajo un título más general y descriptivo? – epidemian