假设我在Kotlin中有一个字符串列表: stringList: MutableList<String>
然后通过这样做很容易按不区分大小写的顺序对这样的列表进行排序:
stringList.sortWith(String.CASE_INSENSITIVE_ORDER)
Run Code Online (Sandbox Code Playgroud)
但是,如何按不区分大小写的顺序对对象列表进行排序?例如:places: MutableList<Place>
哪个Place
是带有2个字段的简单类 - name: String
而且id: Int
,我想按name
字段对这些地方进行排序.
我试图做这样的事情:places.sortedWith(compareBy { it.name })
但是这个解决方案并没有考虑到字母的情况.
Sco*_*son 29
看起来compareBy可能会将Comparator作为参数,请参阅此处的文档:https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.comparisons/compare-by.html
尝试:
places.sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER, { it.name }))
Run Code Online (Sandbox Code Playgroud)
Ivo*_*nov 12
升序排序 - 不区分大小写:
myList.sortedBy { it.name?.toLowerCase() }
Run Code Online (Sandbox Code Playgroud)
降序排序 - 不区分大小写:
myList.sortedByDescending { it.name?.toLowerCase() }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6107 次 |
最近记录: |