2015-06-24 2 views
2

У меня есть массив объектов, которые я хочу, чтобы отсортировать Основу следующего списка:Groovy сортировки список на основе от другого списка

days = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday'] 

def i = 0 

schedule.shifts.each { 
    println it.dayOfWeek 
    println days[i] 
    if (it.dayOfWeek == days[i]) { 
     shifts.add(it) 
    } 
} 

Я попробовал оборачивать это в цикле в то время как и приращение I в разных местах, но я думаю, я не могу подумать о том, как это должно быть. (продолжайте застревать в бесконечных циклах). Может ли кто-нибудь помочь мне получить это право? Ive застрял на некоторое время

ответ

5

Метод сортировки позволяет указать свойство, которое вы хотите сортировать. В этом случае это будет индекс дня в списке дней. Попробуйте что-то вроде этого:

schedule.shifts.sort { shift -> days.indexOf(shift.dayOfWeek) } 
+0

Не знал, что смогу это сделать. здорово! благодаря –

Смежные вопросы