Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 数一数_Kotlin - Fatal编程技术网

Kotlin 数一数

Kotlin 数一数,kotlin,Kotlin,我有以下代码: fun main(args:Array<String>){ var a = "banana, eat, one" var a1 = a1.split("a").toMutableList() a1.sortBy { it.toCharArray().count { it == 'a' } } } fun main(args:Array){ var a=“香蕉,吃,一个” var a1=a1.split(“a”).toMutableList() a1.sortBy{

我有以下代码:

fun main(args:Array<String>){
var a = "banana, eat, one"
var a1 = a1.split("a").toMutableList()
a1.sortBy { it.toCharArray().count { it == 'a' } }
} 
fun main(args:Array){
var a=“香蕉,吃,一个”
var a1=a1.split(“a”).toMutableList()
a1.sortBy{it.toCharArray().count{it=='a'}
} 
这段代码允许我按a的编号对列表a1进行排序,但我希望每个单词(香蕉、吃、一)都有a的编号。我想创建一个HashMap,如下所示: (香蕉,3) (吃,1) (一,0)

但我不知道是否有一个函数允许我这样做

你能帮我吗

谢谢。

funmain(args:Array){
"banana, eat, one".split(",").associateBy({ it }, { it.count { it.toLowerCase() == 'a' } })
val input=“香蕉,吃,一个” //分词 val split=input.split(“,”) val map=HashMap() for(拆分中的单词){ var countA=0 //计算每个单词的字符“a” for(字中的字符){ 如果(字符='a'| |字符=='a'){ 伯爵++ } } 图[字]=countA } println(地图) }
您现有的代码没有编译,但我假设您打算在第二行中使用
a
,并在
上拆分。如果是这样,您可以使用创建一个
映射,其中键是您的单词,值是每个中
'a'
的计数:

val a = "banana, eat, one"
val a1 = a.split(", ").toMutableList()
val a2 = a1.associateWith { word -> word.count { char -> char == 'a' } } 

println(a2) // {banana=3, eat=1, one=0}

因为Kotlin的设计是为了减少繁文缛节。它有许多方法来简化这些算法。现在我看到了java。您的解决方案非常手动,类似于java,但它确实可以工作。不应该被否决,这不是最好的答案。你说的没错。谢谢你的反馈。您的解决方案更短,阅读速度更快。但是当您不能编写这样的代码并且需要问这个问题时,我的代码很可能更容易理解它的功能。
val a = "banana, eat, one"
val a1 = a.split(", ").toMutableList()
val a2 = a1.associateWith { word -> word.count { char -> char == 'a' } } 

println(a2) // {banana=3, eat=1, one=0}