我有此代码:
fun main(args:Array<String>){
var a = "eat,animal,banana"
var a1 = a.split(",")
a1.sortBy{z.toCharArray().count() { z == 'a' } }
}
但是尽管a1是一个ArrayList,但是代码无法正常工作...所以我不明白为什么它不起作用...
我收到错误消息:(19, 22) Kotlin: Unresolved reference: a1
能帮我吗?
谢谢!
答案 0 :(得分:1)
sortBy
对当前列表进行排序,因此该列表需要可变(可以更改)。
普通列表不是可变的,所以这就是为什么没有sortBy
方法的原因。
您可以改用sortedBy
,它返回一个新列表。
创建新列表:
val a = listOf("eat","animal","banana")
val newList = a.sortedBy { word -> word.count { letter -> letter == 'a' } }
或使列表可变并对其重新排序:
val a = mutableListOf("eat","animal","banana")
a.sortBy { word -> word.count { letter -> letter == 'a' } }
答案 1 :(得分:0)