8
Birden çok alana dayalı bir listeyi sıralıyorum.Groovy koleksiyonunu nasıl değiştirebilirim?
sortedList.sort {[it.getAuthor(), it.getDate()]}
Bu iyi çalışır, ancak tarih tersine çevrilecek ve reverse()
çalışmıyor istiyorum.
Yazarı artan düzende nasıl sıralıyorum ama tarihi azalan (ters) sıraya göre sıralıyorum? İstediğim şeyin
Örnek: Ben ne
Author Date
Adam 12/29/2011
Adam 12/20/2011
Adam 10/10/2011
Ben 11/14/2011
Curt 10/17/2010
Örnek: sort()
kullanırsanız en fazla kontrolü elde edersiniz bu gibi çoklu özellik türlü için
Author Date
Adam 10/10/2011
Adam 12/20/2011
Adam 12/29/2011
Ben 11/14/2011
Curt 10/17/2010
Müthiş:
Aşağıdaki listede groovysh yukarıdaki koştu:
Ve doğru sıralanmış alınan çok teşekkürler! – ubiquibacon
ayrıca bunu bir tek astarlıya kadar kısaltabilir (ve eğer açıksa bir açık seçeği atlayabilirsiniz): sıralanmışList.sort {a, b -> a.author <=> b.author ?: b.date <=> a.date} –
@TedNaleid - Bahşiş için teşekkürler; Kısaltmayı düşünmüştüm, ama anlaşılabilirlik uğruna onu terk etmeye karar verdim. Senin için, bütünlük için buraya koyacağım. –