Как подсчитать количество одинаковых значений в списке?

Не могу разобраться с массивом данных. При исполнении кода имею массив как минимум с 3мя одинаковыми значениями. Как их объединить в одно и подсчитать их количество?

fun value(){
    if (_quantity.value == list.size) {
        _flavor.value = list.toString()
    } else {
        val addNumberCup = (_quantity.value?.minus(list.size))
        Log.d("MyTag", "$addNumberCup")
        repeat(addNumberCup.hashCode()) {
            list.add(_flavor.value.toString())
        }
        Log.d("MyTag", "$list")
        _flavor.value = list.toString()
    }
}

val listParametr = mutableListOf("Кофе","Соленая карамель")
repeat(3) {
list.add(listParametr.joinToString())
}

На выходе получаю такие данные

list = mutableListOf("Кофе","Соленая карамель","Кофе","Соленая карамель","Кофе","Соленая карамель")

Ответы (1 шт):

Автор решения: Эникейщик

Если действительно массив, а не строка, как в комментарии, то можно так:

val data = list.groupingBy { it }.eachCount()

В data будет такой словарь:

{Красный бархат=1, Соленая карамель=5}
→ Ссылка