gpt4 book ai didi

android - 使用 lambda forEach Kotlin 遍历列表

转载 作者:行者123 更新时间:2023-11-29 14:58:23 25 4
gpt4 key购买 nike

我有一个包含 30 个随机数的列表,对应 8 种颜色中的一种,我需要遍历这 8 种颜色(或 30 个数字)并找出每种颜色出现的次数。我需要使用 lambdas 和函数式编程来做到这一点,所以没有传统的 for 循环。

val iterator = colours.toList().iterator()

iterator.forEach{

println("$it count: " + (numbers
.map{a -> colours[a]}
.count{it == ("$it")}))
}

目前的问题是我的计数输出只有 50,而不是某种颜色出现的具体次数。

如果我这样做:

println("Red count:" +    (numbers
.map{a -> colours[a]}
.count{it == ("red")}))

它输出正确的数字,但不是循环。

输出结果:

green count: 50 

red count: 50

它应该输出什么(例如)

green count:9

red count:3

提前致谢

最佳答案

将命名参数添加到您的 forEach 循环。隐式名称“it”被计数函数遮盖了。

val iterator = colours.toList().iterator()

iterator.forEach { colour ->

println("$colour count: " + (numbers
.map{a -> colours[a]}
.count{it == ("$colour")}))
}

关于android - 使用 lambda forEach Kotlin 遍历列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55132535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com