2017-08-28 26 views
6

ı KOTLIN içinde Strings bir listesi var diyelim:Duyarsız sırasına göre nesneler listesi nasıl sıralanır?

stringList.sortWith(String.CASE_INSENSITIVE_ORDER) 

Ama nasıl bir listesini sıralamak istiyorum: Sonra stringList: MutableList<String>

o bunu yaparak durumda duyarsız sırayla böyle listeyi sıralamak kolaydır nesneler duyarsız düzende mi? Örneğin: Place 2 alanlarla basit sınıftır places: MutableList<Place>

-name: String ve id: Int ve ben name alan tarafından bu Yerleri sıralamak istiyorum.

Böyle bir şey yapmayı denedim: places.sortedWith(compareBy { it.name }), ancak bu çözüm dikkate alınmaz.

+0

bu referans linki kullanabilirsiniz. com/2013/12/java-arralist-of-nesne-sıralama-örnek-karşılaştırılabilir-ve-karşılaştırıcı/ – ViramP

cevap

7

O compareBy Buradaki belgeleri, bağımsız değişken olarak bir Karşılaştırıcısı almak görmek mümkün olabilir gibi görünüyor: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.comparisons/compare-by.html

Dene: https: // beginnersbook

places.sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER, { it.name })) 
+0

Büyük cevap. Teşekkürler! – user2999943

+0

Sadece belgeleri okuyarak geliyor: D –

+2

FYI 'places.sortedWith (compareBy (String.CASE_INSENSITIVE_ORDER) {it.name})' aynı şekilde çalışır ve son olarak bir lambda parametresinin nasıl yazıldığını gösterir. 'places.sortedWith (compareBy (String.CASE_INSENSITIVE_ORDER, Place :: name))' da yazılabilir. – ephemient

İlgili konular