У меня есть список из 30 случайных чисел, которые соответствуют 1 из 8 цветов, и мне нужно перебрать 8 цветов (или 30 чисел) и найти, сколько раз каждый цвет встречается. Мне нужно сделать это, используя лямбда-выражения и функциональное программирование, поэтому нет традиционных циклов 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
Заранее спасибо