Próbuję posortować mapę w Groovy, która ma mapy jako wartość. Chcę wykonać iterację na mapie i wydrukować wartości posortowane według wartości lastName i firstName. Tak więc w poniższym przykładzie:Sortowanie map na mapach według wartości
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]']]
żądane wyniki byłyby:
[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]']
Próbowałem m.sort {it.value.lastName & & it.value.firstName} i m. sort {[it.value.lastName, it.value.firstName]}. Sortowanie według m.sort {it.value.lastName} działa, ale nie sortuje według firstName.
Czy ktoś może pomóc w tym, bardzo doceniane, dzięki!
myślę, że to jest duplikatem tej drugiej [Pytanie] (http://stackoverflow.com/q/9559309/581845). Czy możemy oznaczyć je jako duplikaty i ewentualnie połączyć je pod bardziej ogólnym i opisowym tytułem? – epidemian